连接到WCF服务的最佳方法是什么?我的意思是什么方法更好:
第一种方式效率低于第二种方法吗?
答案 0 :(得分:1)
这是有争议的但是
每次我想调用WCF时都创建DataServiceClient实例 API函数,或
将给出一个懒惰的实例化。除非需要,否则不会创建代理对象。而
在应用启动时创建一次DataServiceClient实例 在整个应用程序中传播它。
将进行急切的实例化。即使您可能不需要,也可以不必要地创建代理对象。
最好的是,无论是哪个级别/ Form类;你需要使用WCF服务方法;在类/表构造函数中创建代理对象并使用相同的实例。像
Public class Form1 : Form
{
private proxyobjecttype _client;
public Form1()
{
_client = mywcfnamespace.Proxyobject();
}
private void someconsumermethod()
{
_client.callWCFmethod1();
}
}
答案 1 :(得分:0)
这取决于您打算使用和使用的协议发送查询的频率。
如果每个时间间隔只有一个请求,则需要关闭客户端以便节省系统资源。
如果您计划执行一系列查询,最好将客户端保留到系列结束。
最后,您可以在客户创建成本很高的情况下实施客户端池(例如,网络中的连接超时很长)。