六步骤打造WCF客户端

WCF应用方法比较灵活,它可以帮助开发人员轻松打造一个跨平台的可依赖性的解决方案。那么如何才能正确的使用WCF开发呢?在这里我们将会为大家详细介绍一下WCF客户端的一些创建步骤。#t#

创新互联专注于企业营销型网站、网站重做改版、固镇网站定制设计、自适应品牌网站建设、H5开发商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为固镇等各大城市提供网站开发制作服务。

在这里我就用一个据于一个简单的场景:服务端为客服端提供获取客户信息的一个接口读取客户信息,来完成WCF开发入门的六个步骤。

WCF客户端创建步骤1. 定义WCF服务契约

A. 项目引用节点右键添加System.ServiceModel引用。

B. 在代码文件里,添加以下命名空间的引用

using System.ServiceModel;

using System;

C. 新建一个命为ICustomerService 接口,并添加一个获取客户信息的方法定义名为CustomerInfomation,返回字符串类型的客户信息。

D. 为接口ICustomerService添加ServiceContract的属性修饰使它成为WCF服务中公开的接口。

E. 为方法CustomerInfomation添加OperationContract的属性修饰使它成为WCF服务公开接口中公开的成员。

F. 代码:

 
 
 
  1. using System;
  2. using System.ServiceModel;
  3.  namespace ConWCF
  4. { [ServiceContract(Namespace = 
    "http://Microsoft.ServiceModel.Samples")]
  5. public interface CustomerService
  6. [OperationContract]
  7. String CustomerInformation();
  8. }
  9. }

WCF客户端创建步骤2. 实现WCF服务契约

实现WCF服务契约很简单,就是实现上一步聚定义的WCF服务契约定义的接口就可以。下面看代码

 
 
 
  1. using System;
  2. using System.ServiceModel;
  3. namespace ConWCF
  4. { [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
  5. public interface ICustomerService
  6. [OperationContract]
  7. String CustomerInformation();
  8. }
  9. public class CustomerService:ICustomerService
  10. {
  11. #region ICustomerService 成员
  12.  public string CustomerInformation()
  13. {
  14. return "这是客户的信息!";
  15. }
  16. #endregion
  17. }
  18. }

WCF客户端创建步骤3. 启动WCF服务

A.添加一个应用程序配置文件,文件件名为App.config。

B.配置WCF服务的基本地址,如下所示

 
 
 
  1. < host>
  2. < baseAddresses>
  3. < addbaseAddressaddbaseAddress="http://localhost:8000/conwcfr"/>
  4. < /baseAddresses>
  5. < /host>

C.配置WCF服务的端口。Address=“”,意思就是使用上面配置的基本地址,当然也可以在这里指定。Bingding=“wsHttpBinding”,意思是WCF服务使用的是HTTP协议。再接下来就是配置WCF服务契约了(命名空间.服务契约接口名),如下所示:

 
 
 
  1. < endpointaddressendpointaddress=""
  2. binding="wsHttpBinding"
  3. contract="ConWCF.ICustomerService" />

D.配置文件

E.启动服服就简单了

 
 
 
  1. ServiceHost host = new ServiceHost(typeof(CustomerService));
  2. host.Open();
  3. Console.WriteLine("客户信息服务已启动");
  4. Console.WriteLine("按任意键结束服务!");
  5. Console.Read();
  6. host.Close();

F.当服务启动时,在IE栏中输入: http://localhost:8000/conwcfr,将会收到一些帮助的提示信息。

G.异常:配置文件中的服务名称一定是:命名空间.实现WCF服务契约类的名称,否则将会发生找到不配置的异常。

WCF客户端创建步骤4. 创建一个基本的WCF客服端

WCF服务端创建好啊,创建客户端就容易多了,直接用SVCUTIL 命令行工具去完成代码的生成。我安装了WINDOWS SDK,其带了一个CMDShell 命令行工具,打开后就可以运行SVCUTIL命令,这个命令是运行于 framework 3.0以上环境。查看详细帮助信息可以输入:svcutil /?,回车。

1. 启动上几步骤创建好的WCF服务端。

2. 在CMDShell工具中用CD 转到你要存放客户端代码的目录下,输入以下命令生成代码和配置文件。

WCF客户端创建步骤5. WCF客服端基本配置

WCF客户端配置就是配置调用WCF服务端的协议,输传宽带,服务地址,安全等等信息。下面就上一步骤命令自动生成的配置文件。

 
 
 
  1. < ?xml version="1.0" encoding="utf-8"?>
  2. < configuration>
  3. < system.serviceModel>
  4. < bindings>
  5. < wsHttpBinding>
  6. < binding name="WSHttpBinding_ICustomerService" closeTimeout="00:01:00"
  7. openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
  8. bypassProxyOnLocal="false" transactionFlow="false" 
    hostNameComparisonMode="StrongWildcard"
  9. maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
  10. messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
  11. allowCookies="false">
  12. < readerQuotas maxDepth="32" maxStringContentLength="8192" 
    maxArrayLength="16384"
  13. maxBytesPerRead="4096" maxNameTableCharCount="16384" />
  14. < reliableSession ordered="true" inactivityTimeout="00:10:00"
  15. enabled="false" />
  16. < security mode="Message">
  17. < transport clientCredentialType="Windows" proxyCredentialType="None"
  18. realm="" />
  19. < message clientCredentialType="Windows" negotiateServiceCredential="true"
  20. algorithmSuite="Default" establishSecurityContext="true" />
  21. < /security>
  22. < /binding>
  23. < /wsHttpBinding>
  24. < /bindings>
  25. < client>
  26. < endpoint address="http://localhost:8000/conwcfr" binding="wsHttpBinding"
  27. bindingConfiguration="WSHttpBinding_ICustomerService" 
    contract="ICustomerService"
  28. name="WSHttpBinding_ICustomerService">
  29. < identity>
  30. < userPrincipalName value="30DA1D0B1D1E4D2\Administrator" />
  31. < /identity>
  32. < /endpoint>
  33. < /client>
  34. < /system.serviceModel>
  35. < /configuration>

WCF客户端创建步骤6. 使用WCF客户端

在客户端项目中项目引用节点右键添加System.ServiceModel引用. 添加第四部中创建的客户端代码文件和配置文件。 客户端调用服务端的服务,只要创建生成客户端类的实例就可调用了,但要确认服务端正在起用状态,如下

 
 
 
  1. using System;
  2. namespace ConWCFCustomerClient
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. CustomerServiceClient client = new CustomerServiceClient();
  8. string message=client.CustomerInformation();
  9. Console.WriteLine(message);
  10. Console.Read();
  11. }
  12. }
  13. }

新闻名称:六步骤打造WCF客户端
本文路径:http://www.gawzjz.com/qtweb/news49/172599.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联