我们需要根据客户交付给我们的WSDL服务规范为客户实施WCF服务。我们必须实现该服务,以便它一次只能处理一个请求。使用限制属性很容易配置服务,我们目前正在使用此配置。
<serviceThrottling maxConcurrentCalls="1" maxConcurrentInstances="1" maxConcurrentSessions="1" />
但问题是,如果客户在服务繁忙时发出请求(该过程有时可能需要两个小时的时间来处理),他们的请求将会超时。但IIS / WCF服务仍将请求进入队列。 (这是核心问题!)由于客户的请求超时,他们正在发出新请求,我们最终会多次处理相同的请求。
我需要
如果我能以某种方式发现运行时
,我也可以管理答案 0 :(得分:0)
我通过允许更多并发调用并在我自己的代码中维护自己的并发队列来解决这个问题。幸运的是,这似乎是有效的,也是消费者的最佳解决方案。
换句话说,业务问题已经解决,但不是我首先尝试的方式。