我的情况是,我使用wsDualHttpBinding作为绑定。
但我注意到了一些意想不到的事情。当我试图向服务操作发送请求时,但我的代码正在处理回调消息(我在那里放置了一个Thread.Sleep来模拟),那么服务调用就会停滞(甚至可能超时),直到回调消息被完全处理为止。它们不应该是独立的吗,或者通道一次只能处理一条消息,不管是服务请求还是回调消息?我一直使用相同的通道,要么接收回调消息,要么发送新请求。此应用程序作为服务运行,因此不涉及UI。
发布于 2012-10-13 10:50:29
试一试
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Reentrant)]单线程配置中支持回调的特殊方式。
http://msdn.microsoft.com/en-us/library/system.servicemodel.concurrencymode.aspx
https://stackoverflow.com/questions/12863973
复制相似问题