我有一个WP7应用程序,需要大多数页面从WCF服务检索数据。基本上开始使用WCF我需要这样做: -
ServiceClient client = new ServiceClient();
完成后......
client.close();
我不认为在每个页面中创建 ServiceClient 的对象是正确的,只能在App()中创建。那么,我想知道在这种情况下何时何地呼叫client.close()
?
答案 0 :(得分:1)
理想情况下,您应该立即关闭客户端。这释放了您对服务器的连接。如果您有并行或同步(一个接一个,连续)调用,则可以使用相同的对象,否则在完成时关闭连接。
希望这能回答你的问题。
答案 1 :(得分:1)
这实际上取决于您,您需要决定客户端和服务的实例管理策略。这是您尝试实现的整个解决方案的设计问题。有3个服务实例管理策略:
但你所说的实际上是使用你的客户单身。我建议你避免这样做。只要有可能,请坚持Per Call实例管理,这就是您目前正在做的事情。尝试尽快关闭与服务的连接,除非您有充分的理由以不同的方式做事。