WCF客户端初始化和方法调用

本文关键字:方法 调用 初始化 客户端 WCF | 更新日期: 2023-09-27 18:02:20

我是WCF的新手,我对调用服务方法的最佳实践很感兴趣。应用程序将包括一堆表单,我想知道是否最好为每个表单声明一个全局客户端实例,然后在需要时调用方法。或者在每个方法调用之前实例化客户端代理并在之后立即关闭它。

WCF客户端初始化和方法调用

我相信为每个表单创建一个全局变量就可以了,不需要在每次调用service方法之前实例化service。

public MyService ser {get; set;} 

类内部构造函数。

ser = new MyService();

最简单和最安全的方法是每次使用它时都构造客户机代理。这种方法的缺点是失去性能,但取决于您的绑定(http, net。tcp等)和服务模式(PerCall, statfull, Singleton)你不会注意到区别(参见这个答案WCF代理池-值得吗?)

如果您在表单级别上创建代理,当该代理处于故障状态(由于连接问题)时,您将无法重用它,并且必须重新打开表单。