gpt4 book ai didi

WCF:只允许一个客户端并拒绝其他客户端的服务

转载 作者:行者123 更新时间:2023-12-04 18:33:02 32 4
gpt4 key购买 nike

我需要创建一个一次只允许一个客户端的 WCF 服务。所有其他请求都应该被拒绝,客户端必须稍后重试。该服务将需要大约一分钟才能完成请求。

我试过了:

 [ServiceBehavior(IncludeExceptionDetailInFaults=true,
InstanceContextMode=InstanceContextMode.Single,
ConcurrencyMode=ConcurrencyMode.Single)]

但是如果我在客户端多次请求服务(使用多个线程),我会在第 3 个请求中收到超时异常,但该服务确实执行了第 3 个请求处理!

最佳答案

您还可以查看“ServiceThrottling”行为,它允许您在服务器端指定要支持的并发实例、并发调用和并发 session 的数量 - 将它们全部设置为 1,您应该拥有自己的行为。

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

马克

关于WCF:只允许一个客户端并拒绝其他客户端的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799307/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com