我正在与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不提供所使用ASMX服务做了“从网络称之为”选项。为什么?这是一个巨大的安全漏洞,而不是测试Web服务的最佳方式。

一种选择是做为@Yossi建议,并使用WCF服务测试工具。

或者更好的是,编写自己的客户端使用Web服务。这将帮助你处理这些问题谁将会消耗你的服务会处理的,相信我,WCF可以有不少的挂断相同的问题。

不要误会我的意思,WCF是frikkin真棒!但是还有很多忙里忙外的,如果你是新的赔率是你要得到它错了。即使尝鲜仍然不知道WCF的所有的来龙去脉。

其他提示

使用 WCF服务测试工具考虑获取的初始测试您的服务(但really-单元测试是你的朋友:-))(和耶 - 你需要一个MEX终结,至少在初期)

至于调试 - 你连接到托管服务的正确处理?你使用调试符号编译?如果服务被发布到IIS - ?是已发布的代码一样在Visual Studio中代码

您是否尝试过使用了SoapUI ?他们提供了一个真正伟大的Web服务测试工具。他们甚至可以将运行一个Webstart的一个免费版本!

此外,试图安装MEX端点,C.F. MSDN链接。

看一看WebGetAttribute - 这需要.NET 3.5

这允许你从一个WCF Web服务得到休息的数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top