调用WCF服务端点

时间:2011-12-09 14:01:31

标签: c# wcf web-services

我创建了一个WCF服务,其端点在IIS中托管,带有.svc文件。当我点击终点时,我得到:

enter image description here

所以看起来终点已经结束了。

我创建了服务合同

[ServiceContract]
public interface ImyService
{
   [OperationContract]
   String GetSearchResults();
}

并创建了一个类

[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class myService : ImyService
{
    public String GetSearchResults()
    {
        return "Hello World";
    }
}

如何在浏览器中调用GetSearchResults方法?

修改

绑定是:

<bindings>
  <basicHttpBinding>
    <binding name="customBasicHttpBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

4 个答案:

答案 0 :(得分:3)

您无法在浏览器中测试WCF服务的结果。您可以使用WCF测试客户端对其进行测试。在IDE中,只需打开.svc或.svc.cs文件,然后单击F5即可启动WCF测试客户端。

注意:您的项目类型是WCF服务应用程序项目

还在web.config中设置以下内容以启用元数据交换。

<serviceBehaviors>
    <behavior>
    <serviceMetadata httpGetEnabled="true"/>
    <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
</serviceBehaviors>

答案 1 :(得分:1)

为什么不启用服务元数据生成?完成后,您可以在Visual Studio中右键单击您的服务,然后选择“浏览...”。然后,VS将打开您的浏览器到正确的URL,您可以单击要执行的方法的名称。然后,如果启用了HTTP GET,那么您将看到调用方法的正确URL(因此您不使用SOAP)。

否则,您将不得不使用WCF测试环境,例如WCF Storm:http://www.wcfstorm.com/wcf/home.aspx

答案 2 :(得分:0)

只有在使用webHttpBinding时才可以从浏览器执行此操作。你可以做的是使用它所在的WcfTestClient工具: “C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ WcfTestClient.exe”

此外,您的元数据已被禁用,因此要使用WcfTestClient,您需要在webservice app.config

中将httpGetEnabled设置为true。

答案 3 :(得分:0)

最好的是wcf storm。在测试wcf方面它真的很强大。