【问题标题】:converting old code to connect to web-service using WCF使用 WCF 转换旧代码以连接到 Web 服务
【发布时间】:2011-03-17 01:20:01
【问题描述】:

我有一个 ASMX 客户端应用程序,我正在尝试将其转换为使用 WCF。所以我添加了一个服务参考,它给了我一个SoapClient 类。我的旧代码使用从System.Web.Services.Protocols.SoapHttpClientProtocol 派生的类,它有两个属性。网址和ClientCertificates。我在 WCF 世界中获得的这个 SoaClient 类中是否有任何等价物?

【问题讨论】:

    标签: c# wcf web-services


    【解决方案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 服务配置编辑器来设置配置文件;这使得重新配置服务变得更加容易(不需要更改代码)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多