您知道如何向客户端添加服务引用,然后创建这个好的代理,以便您可以在服务器端调用方法吗?像这样:
MyServiceClient proxy = new MyServiceClient();
proxy.GetMessage();
我对刚刚发生的事情有几个问题:
什么时候与服务器建立会话?当我添加服务引用?当我创建代理?或者当我调用方法时?
如果我要创建另一个MyServiceClient
实例,它是我们之前创建的实例(代理)的单例副本还是完全是新实例?
答案 0 :(得分:1)
没有&#39;会话&#39;默认情况下。您进行服务呼叫时会建立新连接,并且仅在收到响应之前持续。如果要对多个调用进行分组(以确保它们使用相同的实例并依次强制执行处理),则需要在服务协定上使用SessionMode属性,这将影响代理客户端的行为方式。< / p>
答案 1 :(得分:0)
查看这些帖子 - 这将让您非常了解WCF代理,并应回答您的问题 - http://blogs.msdn.com/b/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx http://blogs.msdn.com/b/wenlong/archive/2007/10/26/best-practice-always-open-wcf-client-proxy-explicitly-when-it-is-shared.aspx
答案 2 :(得分:0)
调用方法时会建立会话。这是可选的 - WCF中的默认值是没有会话。 通常,如果您创建新代理,则它与先前的代理完全分开。有一些例外: