我们在服务器端托管了 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
答案 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>
应该这样做。