Events 为什么来自服务器的.NET远程处理事件无法到达不同计算机上的客户端

Events 为什么来自服务器的.NET远程处理事件无法到达不同计算机上的客户端,events,remoting,Events,Remoting,在我的例子中,当数据准备就绪时,服务器将通知客户机获取数据。此通知通过客户端必须订阅的事件实现 当在同一台计算机上进行测试时,客户端会得到通知,不会出现任何问题。但是,当客户端移动到另一台计算机时,它将无法再获得通知 我检查了网络连接和远程服务的可用性,发现客户端可以访问服务器端封送的远程对象,事件订阅没有任何异常 但让我困惑的是,实际上服务器的event==null意味着客户端的方法从未在这里注册过 有人知道原因吗? 谢谢 BR首先,我要查看客户端和服务器上的事件日志,看看是否存在与此相关的错

在我的例子中,当数据准备就绪时,服务器将通知客户机获取数据。此通知通过客户端必须订阅的事件实现

当在同一台计算机上进行测试时,客户端会得到通知,不会出现任何问题。但是,当客户端移动到另一台计算机时,它将无法再获得通知

我检查了网络连接和远程服务的可用性,发现客户端可以访问服务器端封送的远程对象,事件订阅没有任何异常

但让我困惑的是,实际上服务器的event==null意味着客户端的方法从未在这里注册过

有人知道原因吗? 谢谢
BR

首先,我要查看客户端和服务器上的事件日志,看看是否存在与此相关的错误

第二,远程客户端和本地客户端的用户身份是否相同?使用相同域帐户的相同登录用户

防火墙设置如何?您确定允许远程处理吗


最后,请确保:您是否知道现在不推荐使用远程处理而支持WCF?

注册到服务器事件的每个客户端对象都应该是MarshalByRefObject,服务器应该引用其程序集。因此,如果您想在远程处理中使用事件,就需要对事件进行包装

也许,这篇文章可以帮助你


如果远程处理呼叫是双向的,则端口需要在两个方向上都可以打开,这意味着您的服务器需要能够在客户端上打开端口。您将有两个插槽打开,双向通信。

-确保允许远程通信。-该软件基于.NET2.0I防火墙。端口是否为入站流量打开?是的,防火墙阻止了传入消息。防火墙移除后,事件按预期到达。谢谢