一次只有一个回调 - WCF限制?

时间:2013-08-08 22:50:50

标签: wcf wcf-callbacks

我现在坚持这个约两个星期 - 所以有人可以告诉我,WCF是否存在限制,回调对象一次只能处理一次回调?我试过解决这个问题的任何事情我都试过但仍然无法找到任何地方。

我创建了一个非常简单的应用程序:客户端调用服务然后服务同时向客户端进行两次回调:回调A,这需要很长时间才能返回;然后回调B,即使A处于处理状态,也会在循环中反复回调。问题是,当A处理时,B将永远不会通过。但是一旦A返回,B就会马上通过。

以下是我尝试的内容: 1.在客户端和服务上将ConcurrencyMode设置为Multiple或Reentrant; 2.在客户端和服务上将UseSynchronizationContext设置为False; 3.从客户端上的工作线程启动服务调用; 4.在客户端的工作线程上创建代理(服务通道); 5.在服务上的自己的工作线程上启动两个回调; 6.将两个回调都作为Oneway。

这些都没有解决问题。我现在唯一能想到的是,这可能是WCF的限制。因此,如果有人能够对此有所了解,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试制作异步代理吗?当你左键单击你的项目然后clic添加服务引用,然后选中生成异步操作。

您将拥有一个使用事件进行回调返回的客户端。如果我没错,每个回调都是在不同的线程中完成的。