通过WCF移动到客户端服务器。我的第一个WCF。
我迷失的地方是OperationContract Instancing and Concurrency。
对于搜索实例,我应该去PerSession吗?如果是这样,我应该打开SQL连接吗?
更新与搜索不同。有6种不同的更新OperationContracts(针对不同的数据类型)。更新是一次一个,并通过PK,将命中源表和日志表。作为单实例和ConcurrencyMode可能更有意义并保持连接?如果是这样我管理并发?
还有批量更新,但我愿意暂时将其视为一系列单一更新。
主要目标是数据完整性,然后是可用性,然后是可扩展性。
我知道可能没有硬答案。任何指针或参考资料?我该如何进行压力测试?如何管理和监控流程?
要测试大量数据,我会报告结果。
答案 0 :(得分:1)
找到一个直接解决我的问题的博客
wcf-instancing-concurrency-and-throttling-part-1
wcf-instancing-concurrency-and-throttling-part-2
wcf-instancing-concurrency-and-throttling-part-3
PerCall 在这些情况下,您可以考虑这种实例化模式。
如果您的服务是无国籍的
如果您的服务具有轻量级初始化代码(或根本没有)。
如果您的服务是单线程的。
我的方法符合所有这些标准。创建通道后,InstanceContextMode PerCall的开销不过是创建类的实例。连接到SQL的开销也很小,因为它将保存连接池。我太复杂了。
如果有人要添加更多内容,那么我很乐意接受您的回答。