【问题标题】:.NET Remoting - How callback to all connected clients?.NET Remoting - 如何回调所有连接的客户端?
【发布时间】:2009-10-05 11:47:51
【问题描述】:

我正在研究 .NET Remoting,我看到了一个示例:http://www.mctainsh.com/Articles/Csharp/RemoteCallback.aspx#A%5Fsimple%5Fexample,一切正常。现在我的问题是如果我尝试启动另一个客户端,服务器不会回调所有连接的客户端,而只会回调最后一个。如何向所有客户端发送回调?

【问题讨论】:

  • 请只问一次您的问题。
  • 作为一个小评论请注意,在某些情况下(尤其是在线),事件并不能很好地扩展。参考:static.thinktecture.com/Resources/ArchitectureBriefings/…。在大多数应用程序中它们都可以使用,尤其是在本地使用的应用程序,但在大型基础设施中,我认为建议您避免使用它们。

标签: c# .net remoting


【解决方案1】:

尝试更改这部分代码:

    public event NotifyCallback Notify
    {
        add    { s_notify = value; }
        remove { /*  */ }
    }

进入:

    public event NotifyCallback Notify
    {
        add    { s_notify += value; }
        remove { s_notify -= value; }
    }

目前,事件未添加到列表中,但 s_notify 设置为在每个 add 上触发不同的事件处理程序。

【讨论】:

  • 附带说明,恕我直言,您提供的链接中的示例代码相当不完整(例如,缺少事件删除访问器,以及 FireNewBroadcastedMessageEvent 中的“此调用将引发异常”是怎么回事?不会最好简单检查 s_notify 是否为空?)。尝试在 Google 上搜索更多示例以了解更广泛的情况。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多