使用WCF将旧代码转换为连接到Web服务

时间:2011-03-16 16:33:27

标签: c# wcf web-services

我有一个ASMX客户端应用程序,我试图转换为使用WCF。所以我添加了一个服务引用,它给了我一个SoapClient类。我的旧代码使用的是一个派生自System.Web.Services.Protocols.SoapHttpClientProtoco l的类,它有两个属性。网址和ClientCertificates。我在WCF世界中获得的SoaClient类中是否有相应的这些?

1 个答案:

答案 0 :(得分:1)

与Url属性等效的是端点地址,您可以通过代理对象的constructor或通过配置(使用WCF服务配置编辑器编辑配置)来设置端点地址。对于ClientCertificates,请使用代理对象的ClientCredentials属性。

以下是一些示例代码,可帮助您入门。

BasicHttpBinding basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
System.ServiceModel.Channels.Binding binding = basicHttpBinding;
MyServiceSoapClient myService =
    new MyServiceSoapClient(binding, new EndpointAddress(url));
myService.ClientCredentials.ClientCertificate.Certificate = new X509Certificate2(Certificate);

所有这些也可以通过配置而不是代码来完成,使用WCF服务配置编辑器来设置配置文件;这使得重新配置服务变得更加容易(不需要更改代码)。

相关问题