【发布时间】:2013-08-08 22:50:49
【问题描述】:
我在这个问题上坚持了大约两个星期 - 那么有人可以告诉我,WCF 是否有限制,一次只能由一个回调对象处理一个回调?我已经尝试了几乎所有我能找到的解决这个问题的方法,但仍然没有任何进展。
我创建了一个非常简单的应用程序:客户端调用服务,然后服务同时向客户端发出两个回调:回调 A,需要很长时间才能返回;然后回调 B,即使 A 正在处理中,也会在循环中重复回调。问题是,当 A 正在处理时,B 永远不会通过。但是A一回来,B就会马上通关。
这是我尝试过的事情: 1. 在客户端和服务上将 ConcurrencyMode 设置为 Multiple 或 Reentrant; 2. 在客户端和服务上将 UseSynchronizationContext 设置为 False; 3. 从客户端的工作线程开始服务调用; 4. 在客户端的工作线程上创建代理(服务通道); 5. 在服务上各自的工作线程上启动两个回调; 6. 将两个回调都设为 Oneway。
这些都没有解决问题。我现在唯一能想到的是,这可能是 WCF 的限制。因此,如果有人能对此有所了解,将不胜感激。
【问题讨论】:
标签: wcf wcf-callbacks