【发布时间】:2009-05-27 19:46:31
【问题描述】:
我正在使用 WCF(VS2005,.Net 3.0)并希望通过 Web 浏览器而不是代码直接调用来测试服务。
我有一个用 OperationContract 属性调用 GetTest() 修饰的方法。我有一个可以访问的 .svc 文件背后的服务;但是,当我去 .../Test.svc/GetTest 时,只会出现一个空白屏幕。
这是 web.config:
<system.serviceModel>
<services>
<service name="TestService" behaviorConfiguration="TestBehavior">
<endpoint
address=""
binding="basicHttpBinding"
contract="TestService.ITestService"></endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="TestBehavior">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
每当我尝试在服务中设置断点时,它也不会被命中。关于我在哪里出错的任何想法?我习惯了 ASMX 服务,当我通过浏览器访问这些方法时会得到响应;但是,当我访问服务时,我只能获得“您已创建服务”页面,但方法中什么也没有。
【问题讨论】:
-
WCF 服务是基于 SOAP 的 - 您不能从浏览器调用 SOAP 服务。
-
@marc_s 我已经制作了许多基于 SOAP 的标准 ASMX 服务,并且仍然能够在我的浏览器中显示 SOAP 消息。这就是我要在这里完成的工作。