C# 调用WCF服务端点

C# 调用WCF服务端点,c#,wcf,web-services,C#,Wcf,Web Services,我已经创建了一个WCF服务,其端点托管在IIS中,带有一个.svc文件。当我到达终点时,我得到: 看来终点到了 我已经创建了一个服务合同 [ServiceContract] public interface ImyService { [OperationContract] String GetSearchResults(); } 并创建了一个类 [AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibility

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

看来终点到了

我已经创建了一个服务合同

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

只有在使用webHttpBinding时,才能从浏览器执行此操作。您可以使用WcfTestClient工具,它位于以下位置: C:\Program Files x86\Microsoft Visual Studio 10.0\Common7\IDE\WcfTestClient.exe


此外,您的元数据已禁用,因此为了使用WcfTestClient,您需要在webservice app.config中将httpGetEnabled设置为true。只有在使用webHttpBinding时,才能从浏览器执行此操作。您可以使用WcfTestClient工具,它位于以下位置: C:\Program Files x86\Microsoft Visual Studio 10.0\Common7\IDE\WcfTestClient.exe


此外,您的元数据已禁用,因此为了使用WcfTestClient,您需要在您的webservice app.config中将httpGetEnabled设置为true,最好是。它在测试wcf时非常强大。

最好的是。它在测试wcf时非常强大。

为什么不启用服务元数据生成?一旦你有了它,你可以在VisualStudio中右键点击你的服务并选择Browse。。。。VS将打开浏览器到正确的URL,您可以单击要执行的方法的名称。然后,您将看到调用方法的正确URL,前提是启用了HTTPGET,因此您没有使用SOAP


否则,您将不得不使用WCF测试环境,如WCF Storm:

为什么不启用服务元数据生成?一旦你有了它,你可以在VisualStudio中右键点击你的服务并选择Browse。。。。VS将打开浏览器到正确的URL,您可以单击要执行的方法的名称。然后,您将看到调用方法的正确URL,前提是启用了HTTPGET,因此您没有使用SOAP


否则,您必须使用WCF测试环境,例如WCF Storm:

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

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

还可以在web.config中设置以下选项以启用元数据交换

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

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

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

还可以在web.config中设置以下选项以启用元数据交换

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

您是否尝试过?使用此绑定的WCF的可能副本是一个SOAP服务,您不能仅在浏览器中进行测试-使用安装在您的计算机上的.NET 3.0或新版本。您是否尝试过?使用此绑定的WCF的可能副本是一个SOAP服务,您不能仅在浏览器中进行测试-使用安装在您的计算机上的如果WCF服务配置为http,您肯定可以从浏览器访问它。为了澄清这一点,您可以使用ajax调用WCF web服务。您不能像使用ASMX web服务一样通过浏览服务位置来测试它们。OP没有提到他是在尝试测试他的服务,还是只是从网页调用服务方法。如果WCF服务配置为http,您肯定可以从浏览器访问它。为了澄清这一点,您可以使用ajax调用WCF web服务。您不能像使用ASMX web服务一样通过浏览服务位置来测试它们。OP没有提到他是在测试他的服务,还是仅仅从网页调用服务方法。