【发布时间】:2011-03-11 10:16:13
【问题描述】:
OperationContext.Current.GetCallbackChannel 实际上是做什么的?它如何识别每个客户?
我的 WCF 服务出现问题。如果超过两个用户连接到服务,我从服务发送到客户端的所有“有趣的更改”都将发送给第二个加入的用户。
例如,如果 A、B、C、D 加入服务,如果我通过回调将更改发送到 C 和 D,它将转到 B。
有什么想法吗?
详情:
客户端:ASP.NET 网络应用程序
绑定:netTCPBinding
更新1
好的,我找到了问题的原因。我在 IIS 中托管了 asp.net 客户端。例如客户端的 URL 是http://url1。如果我在不同的机器上打开页面的多个实例并加入服务,回调通道总是指向页面的第一个实例(我从不同的机器打开站点)。但是,如果我在 IIS 中的不同站点下托管 asp.net 客户端,则回调通道是唯一的。对此有什么想法吗?
【问题讨论】:
-
我已经告诉过你,你正在做的事情是行不通的。此评论不适合您 - 适合稍后阅读的其他人。在请求完成后,不要永远尝试回调或引用 ASP.NET 页面。该页面将不存在。
-
感谢您的评论约翰。我只是在深入研究回调的工作原理。你所说的一切都说得通。我不再朝同一个方向尝试了。