WCF配置

时间:2009-11-02 12:42:34

标签: c# wcf wcf-security

我们在服务器端托管了 basicHttpBinding 的WCF服务,

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

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

感谢
NRK

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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>

应该这样做。