我正在使用netTcpBinding和Duplex Communication设计和使用WCF(用于学习目的)的PubSub系统。在我的发布者ServiceContract中,我有一个字典,我需要在所有sesions之间共享,并列出我需要特定于会话的列表。
这种情况的最佳选择是什么?
我遇到的另一个问题是,我是从NodeJS / EventMachine背景出来的,我想不要为这种服务提供更好的性能 - ConcurrenyMode。 Multiple 或ConcurrencyMode。 可重入 ?
答案 0 :(得分:1)
首先 - ConcurrencyMode.Reentrant是单线程的,因此会以锁定结束,你最好使用ConcurrencyMode.Multiple(假设你已经采取了代码中的必要步骤来防止通常的线程问题)
关于你的instancecontextmode - 在你所描述的场景中,我相信你的PerSession比Single更好。
这也有点帮助 - http://msdn.microsoft.com/en-us/library/system.servicemodel.concurrencymode.aspx