【发布时间】:2013-06-14 10:55:10
【问题描述】:
当我输入我的服务地址时,我可以看到 WSDL 文件。但是,当我向 URL 添加后缀时,我收到错误消息:“找不到端点”。这肯定是由于我的服务模型声明有问题,但几个小时后,我倾向于承认它超出了我的范围。
我已确保命名空间是正确的,正如 here 所讨论的那样。
第一个 URL 有效。另一个,不要。
http://---.azurewebsites.net/MyService.svc/
http://---.azurewebsites.net/MyService.svc/Ping
http://---.azurewebsites.net/MyService.svc/Ping/(建议here)
在行为中,我声明了两种行为——一种用于端点,一种用于服务。
<behaviors>
<endpointBehaviors>
<behavior name="PingEndPointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name ="PingServiceBehavior">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
我声明了以下绑定,以便通过浏览器中的 URL 行访问。
<bindings>
<webHttpBinding></webHttpBinding>
</bindings>
在services中我声明了两个端点(我也只测试了第一个端点)。
<service name="MyProject.MyService"
behaviorConfiguration="PingServiceBehavior">
<endpoint name="PingEndPoint"
behaviorConfiguration="PingEndPointBehavior"
address="Ping"
binding="webHttpBinding"
contract="MyProject.IMyService"/>
<endpoint contract="IMetadataExchange"
binding="mexHttpBinding"
address="mex" />
</service>
我的配置文件中也有以下内容。怀疑它的重要性,但永远不知道。
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true"/>
【问题讨论】:
-
您在哪里托管 WCF 服务?是否在 IIS 上
-
@Rajesh 它是 Azure,但显然,这不是重点。我发现了问题。这是一个冗余问题?
标签: wcf web-config wcf-endpoint service-model