0

再次,作为 WCF、MVC 和 Sharp Architecture 的初学者,我可能会问一个愚蠢的问题,所以请耐心等待。

我终于能够使 Sharp Architecture 的 Northwind 示例工作。

我可以使用 Internet 浏览器 localhost/NorthwindWcfServices/TerritoriesService.svc localhost/NorthwindWcfServices/TerritoriesService.svc?wsdl 浏览服务

我可以使用 WcfTestClient.exe 调用服务 GetTerritories

然后我使用 Fiddler 对其进行测试: 当我请求 GET 时,Fiddler 正常: localhost/NorthwindWcfServices/TerritoriesService.svc?wsdl

当我开始请求 localhost/NorthwindWcfServices/TerritoriesService.svc/GetTerritories

他们不断给我一个 400 Bad Request 错误。

我应该做些什么来让它发挥作用吗?

我应该在提琴手标头请求中添加内容类型吗?还是我应该在服务类中添加任何属性?

任何帮助都感激不尽。

谢谢

4

1 回答 1

0

您必须使用 Web 配置文件配置服务,例如,如果您将 WCF 配置为访问……您的服务配置应该如下所示

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="EndPBehavior">
      <webHttp/>
      <enableWebScript/>
    </behavior>
  </endpointBehaviors>
</behaviors>
<services>
  <service behaviorConfiguration="ServiceBehavior" name="CastleTest.WCF.WCFService">
    <endpoint address="" binding="webHttpBinding"
              contract="CastleTest.WCF.IWCFService"
              behaviorConfiguration="EndPBehavior"/>
  </service>
</services>

试试看是否出现错误 400

于 2011-09-12T06:35:27.720 回答