温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何创建使用WCF代理

发布时间:2021-11-03 14:42:37 来源:亿速云 阅读:109 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“如何创建使用WCF代理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何创建使用WCF代理”这篇文章吧。

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

public class ClientBase<T> : IDisposable  {  protected ClientBase(string endpointConfigurationName);  protected ClientBase(Binding binding,EndpointAddress remoteAddress);  public void Dispose();  protected T InnerProxy{get;}   //其它成员  }

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

MyContractProxy proxy = new MyContractProxy("MyEndpoint");  proxy.MyMethod();  proxy.Close();

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

using(MyContractProxy proxy = new MyContractProxy("MyEndpoint"))  {  proxy.MyMethod();  }

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

<system.serviceModel> <client> <endpoint ...  contract="IMyContract" /> <endpoint name="OtherEndpoint" ...  contract="IMyContract" /> </client> </system.serviceModel>

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

MyContractProxy proxy = new MyContractProxy();  proxy.MyMethod();  proxy.Close();

以上是“如何创建使用WCF代理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

wcf
AI