189 8069 5689

挖掘创建使用WCF代理技巧

WCF代理还是比较常用的,于是我研究了一下WCF代理,在这里拿出来和大家分享一下,希望对大家有用。SvcUtil生成的代理类派生自类ClientBase,定义为:

 
 
  1. public class ClientBase : IDisposable
  2. {
  3. protected ClientBase(string endpointConfigurationName);
  4. protected ClientBase(Binding binding,EndpointAddress remoteAddress);
  5. public void Dispose();
  6. protected T InnerProxy{get;}
  7.  //其它成员
  8. }

#T#这个InnerProxy属性是客户端需要消费的合同类型,并且SvcUtil生成的ClientBase的子类简单地把它WCF代理到方法调用。客户端需要实例化一个代理对象并且提供给其构造器端点信息-或者是来自配置文件的端点节名或者是在不使用一个配置文件时的端点地址和绑定对象。然后,该客户端可以使用代理方法来调用该服务,并且客户端完成后,它需要关闭该代理实例:

 
 
  1. MyContractProxy proxy = new
  2. MyContractProxy("MyEndpoint");
  3. proxy.MyMethod();
  4. proxy.Close();

关闭WCF代理将终止与服务的会话并且关闭连接。作为选择,你可以使用代理的Dispose()方法来关闭它。Dispose()方法的优点在于,你可以使用using语句来调用它,即使在面临异常处理时:

 
 
  1. using(MyContractProxy proxy = new MyContractProxy("MyEndpoint"))
  2. {
  3. proxy.MyMethod();
  4. }

在客户端配置文件中的每个合同类型的一个端点可以被指派为一个默认端点。默认端点是一个没有名字标志或只有一个空名("")的端点节:

 
 
  1. ...
  2. contract="IMyContract"
  3. />
  4.  name="OtherEndpoint"
  5. ...
  6. contract="IMyContract"
  7. />

一个默认的端点仅仅是一种理想情况;当创建一个针对默认端点的代理时,你可以使用WCF代理的默认构造器来让它使用默认端点:

 
 
  1. MyContractProxy proxy = new MyContractProxy();
  2. proxy.MyMethod();
  3. proxy.Close();

分享文章:挖掘创建使用WCF代理技巧
转载源于:http://www.cdxtjz.cn/article/dhesgch.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。