我的问题更倾向于礼仪" vs性能/技术性。
客户端/服务器通信在客户端PC上的良好做法。我的应用"记录"某些东西到wcf服务器。我的服务器可以在局域网上运行,也可以在互联网上的某个地方运行(服务器端的端口转发等)。
开销并不关心我,因为我记录的数据量很少,但我会经常记录它......让我们说每10秒左右。
我是否实例化我的WCF对象一次(在应用启动时从客户端连接到服务器),或者每隔10秒实例化一次新的wcf连接(wcf派生调用)。
什么是良好做法。我关心的是在客户资源上运用礼仪。
你可以指点我的任何好的阅读材料吗?
答案 0 :(得分:6)
所有WCF大师如Michele Leroux Bustamante(Learning WCF - A Hand's On Guide的作者)和JuvalLöwy(高级Programming WCF Services的作者)讲道的最佳做法是使用每次通话激活< / strong>:每个请求创建自己的服务类实例,处理请求,并在调用后再次抛弃服务实例。
这是迄今为止最具扩展性的方案。
所有其他方案(每个会话,使用多线程服务类或使用单例)会对整体系统性能产生重大影响,或者它们会导致更复杂的编程体验(多线程安全服务类)。
除非您有其他设置的非常令人信服的理由,否则我建议您使用每次呼叫的WCF服务。