我可以访问我的WCF服务并获取其WSDL文件,但无法访问它的“子目录”。收到地址行中的URL时收到的错误如下。
[14:42:45.509]获取http://---.azurewebsites.net/MyService.svc/Ping [HTTP / 1.1 400错误请求105毫秒]
接口和实现如下。
[OperationContract]
[WebGet(UriTemplate="Ping")]
String Ping();
public String Ping() { return "Pong"; }
配置文件中的服务模型包含以下部分。
行为
<behaviors>
<endpointBehaviors>
<behavior name="PingEndPointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name ="PingServiceBehavior">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
绑定
<bindings>
<basicHttpBinding>
<binding name="PingBasicHttpBinding"/>
</basicHttpBinding>
</bindings>
服务
<services>
<service name="MyNamespace.MyService"
behaviorConfiguration="PingServiceBehavior">
<endpoint name="PingEndpoint"
behaviorConfiguration="PingEndPointBehavior"
address="Ping"
bindingConfiguration="PingBasicHttpBinding"
contract="MyNamespace.IMyService"/>
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true"/>
我错过了什么?
答案 0 :(得分:1)
我猜你无法输入网址并使用BasicHttpBinding
从你的WCF服务获得回复。您应该使用webHttpBinding
来完成上述工作