0

我的情况是我使用 wsDualHttpBinding 作为绑定。

但我注意到了一些意想不到的事情。当我尝试向服务操作发送请求时,但我的代码正在处理回调消息(我已经在那里放置了一个 Thread.Sleep 来模拟),然后服务调用会卡住(甚至可能会超时)直到回调消息被完全处理。他们不应该是独立的,还是通道一次只能处理一条消息,不管是服务请求还是回调消息?我一直在使用同一个频道,要么接收回调消息,要么发送新请求。此应用程序作为服务运行,因此不涉及 UI。

4

1 回答 1

0

尝试

[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant)]

在单线程配置中支持回调是一种特殊模式。

http://msdn.microsoft.com/en-us/library/system.servicemodel.concurrencymode.aspx

于 2012-10-13T02:50:28.863 回答