那天研究了一整天的WCF框架,我都快崩溃了! ,以后再也不能随便的关机了,因为这次的不小心,几乎所有的Net安装,调试问题都被我碰到了,还好,我一个个把他记录下来了,同时,在相关论坛上找了一些相关的解决办法,分享一下,供大家相互学习交流。
本文会从实际应用的角度上,阐述两种方法的一些细节和优劣对比,希望通过学习本文,能掌握什么情况下使用什么样的方式来创建客户端服务代理对象,怎样创建客户端代理对象。本文重点在术,非道。
构造代理法 #t#
从名字中可以看出,使用本方法创建客户端服务代理对象,是调用了服务代理类的构造方法。这种方法非常符合创建对象的常规方法:通过new的方式产生类型实例。可在WCF框架中要使用此方法,却是需要一个前提:要首先具备代理类。所以产生代理类便是此种方法首先要解决的问题了,下面就来看下WCF中创建代理类的几种常见办法。
在WCF框架中,创建代理类,可以分为下面的几种情况:
***种:知道服务元数据地址,通过在项目中添加服务引用。
第二种:知道服务元数据地址,通过svcutil.exe生成代理类和配置文件。
第三种:从服务契约所在的的程序集(dll,exe)中导出元数据,然后从本地元数据生成代理类。
第四种:知道元数据的地址,通过自定义的代码生成代理类。
下面分别详细的阐述四种方法的操作过程:
一般情况下,用WCF框架填写完下面的对话框就可以点击确定,生成代理类了,但有的时候,我们需要对代理类对特殊的设置,比如我们要生成异步操作,要更改字典集合为数组等,这时候可以点击上图中左下角的高级按钮。出现如下的对话框: