一次只允许一个客户端

时间:2016-10-17 09:33:09

标签: c# wcf

我现在正在进行WCF编码,问题非常标准:

我需要我的WCF服务器来管理硬件设备,所以我一次只允许一个客户端。我确实尝试了在网站上找到的一些解决方案,但都没有

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single,
                 ConcurrencyMode = ConcurrencyMode.Multiple)]

也没有添加

<behavior name="Throttled">
     <serviceThrottling maxConcurrentCalls="1"
     maxConcurrentSessions="1"
     maxConcurrentInstances="1" />
</behavior>

不阻止我运行第二个应用程序并破坏服务器。

我是否应该了解有关客户端身份验证的更多信息,或者我可以添加一条神奇的线来解决此问题?

1 个答案:

答案 0 :(得分:0)

正如我之前提到的,所有这些行动都是不够的。看起来关键是要维护WCF会话模式 - 所以,我用wsHttpBinding而不是basicHttpBinding(不允许维护会话)添加[ServiceContract (SessionMode = SessionMode.Required)]。 现在它有效。