1

我们在服务器端使用basicHttpBinding托管 WCF 服务,

    <bindings>           
      <basicHttpBinding>        
        <binding name="BasicHttpEndpointBinding" >
          <security  mode="TransportCredentialOnly">
            <transport  clientCredentialType="basic" /> 
          </security>          
        </binding>        
      </basicHttpBinding>      
    </bindings>

WCF 服务托管在 Windows xp sp3 和 IIS 5.1 中,启用了匿名访问。
如果我想访问 .net 2.0 桌面应用程序上的 WCF 服务。
我需要做什么配置,带有示例代码?

谢谢
nrk

4

2 回答 2

0

假设您可以安装 .NET 3.0(根据与您的问题相关的讨论),您也可以在客户端使用 WCF,并且您需要使用与您发布的相同的绑定配置。

于 2009-11-02T14:00:42.323 回答
0

如果您无法安装 .NET 3.0(这是第一个包含 WCF 位的 .NET),您所能做的就是添加对该服务的引用作为 ASMX Web 服务。

在 Visual Studio 中,转到您的项目,然后右键单击并选择“添加 Web 引用”并输入 URL。

没有其他方法可以做到(只有 .NET 2.0)。

如果您可以升级到 .NET 3.0,那么您的客户端 app.config 将在其中包含完全相同的部分:

<bindings>           
      <basicHttpBinding>        
        <binding name="BasicHttpEndpointBinding" >
          <security  mode="TransportCredentialOnly">
            <transport  clientCredentialType="basic" /> 
          </security>          
        </binding>        
      </basicHttpBinding>      
    </bindings>

但是您没有向我们展示您的服务器配置文件中更有趣的部分 -<services>定义您的服务必须提供的端点的部分。

在客户端上,您至少将拥有:

<client>
  <endpoint name="whatever"
            address="http://yourServer:8080/YourService/"
            binding="basicHttpBinding"
            bindingConfiguration="BasicHttpEndpointBinding"
            contract="IYourServiceContract" />
</client>

那应该这样做。

于 2009-11-02T14:05:56.057 回答