使用WP7为WCF提供建议

时间:2012-01-11 12:30:48

标签: wcf windows-phone

我有一个WP7应用程序,需要大多数页面从WCF服务检索数据。基本上开始使用WCF我需要这样做: -

ServiceClient client = new ServiceClient();

完成后......

client.close();

我不认为在每个页面中创建 ServiceClient 的对象是正确的,只能在App()中创建。那么,我想知道在这种情况下何时何地呼叫client.close()

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该立即关闭客户端。这释放了您对服务器的连接。如果您有并行或同步(一个接一个,连续)调用,则可以使用相同的对象,否则在完成时关闭连接。

希望这能回答你的问题。

答案 1 :(得分:1)

这实际上取决于您,您需要决定客户端和服务的实例管理策略。这是您尝试实现的整个解决方案的设计问题。有3个服务实例管理策略:

  • 每次通话服务
  • 每个会话服务
  • 单身人士服务

但你所说的实际上是使用你的客户单身。我建议你避免这样做。只要有可能,请坚持Per Call实例管理,这就是您目前正在做的事情。尝试尽快关闭与服务的连接,除非您有充分的理由以不同的方式做事。