0

我可以访问我的 WCF 服务并获取它的 WSDL 文件,但不能访问它的“子目录”。当我在地址行中输入 URL 时收到的错误如下。

[14:42:45.509] GET http://---.azurewebsites.net/MyService.svc/Ping [HTTP/1.1 400 错误请求 105ms]

接口和实现如下。

[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"/>

我错过了什么?

4

1 回答 1

1

我猜您无法键入 URL 并使用BasicHttpBinding. 你应该使用webHttpBinding上述工作

于 2013-06-18T08:23:03.457 回答