2016-08-13 63 views
0

我是新来的WCF和我感兴趣的是调用一个服务方法的最佳实践。该应用程序将包括在一堆的形式,我想知道这是否是更好地申报为全球客户实例为每个表单,然后就调用的方法需要的时候。或者更好的是在每个方法调用之前实例化客户端代理并在之后关闭它。WCF客户端初始化和方法调用

回答

0

我相信客户端创建一个全局变量为每个表单你会做,没必要调用服务方法之前,每次实例化的服务。

public MyService ser {get; set;} 

里面的类构造函数。

ser = new MyService(); 
0

最简单和最安全的方法是每次使用它时构造客户端代理。 这种方法的缺点是性能比较松动,但根据您的绑定(HTTP,的net.tcp等)和服务模式(PerCall,有状态,辛格尔顿),你不会注意到其中的差别(见这个答案WCF Proxy Pooling - Is it worth it?)。

如果你创建表单级别的代理,当该代理处于故障状态(因为连接问题),你将无法再使用它,将不得不重新打开的形式。