【问题标题】:Allow only a single client at a time一次只允许一个客户
【发布时间】:2017-02-26 05:32:57
【问题描述】:

我现在在WCF编码,问题很标准:

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

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

也没有添加

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

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

我应该了解更多有关客户端身份验证的信息还是可以添加一条神奇的线来解决这部分问题?

【问题讨论】:

标签: c# wcf


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 2015-03-12
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多