【发布时间】:2010-03-05 09:56:20
【问题描述】:
如您所知,.NET Remoting 有一些限制,其中之一是服务器无法通过 NAT/防火墙向 Internet 客户端发送事件。
今天,我计划改进 .NET Remoting,以便服务器可以向 Internet 客户端发送事件。我没有深入研究.NET Remoting,所以不知道.NET Remoting 出现这个问题的原因。谁能给我解释一下?
我不知道我是否可以解决这个问题?
请帮助我。谢谢。
【问题讨论】:
如您所知,.NET Remoting 有一些限制,其中之一是服务器无法通过 NAT/防火墙向 Internet 客户端发送事件。
今天,我计划改进 .NET Remoting,以便服务器可以向 Internet 客户端发送事件。我没有深入研究.NET Remoting,所以不知道.NET Remoting 出现这个问题的原因。谁能给我解释一下?
我不知道我是否可以解决这个问题?
请帮助我。谢谢。
【问题讨论】:
.NET Remoting 确实有其局限性,例如不同网络之外的事件和外部客户端无法访问不同网络内部的服务器,因为使用套接字在网络上相互通信,因为序列化/ MarshalByRef 对象的反序列化与网络本身相关联,因此无法通过适当的防火墙从外部访问......而且它已经很老了,但是,有四种方法可以解决这个问题,尽管有 workarounds 来获取事件到位...
如果应用程序是旧版应用程序,可能值得您先试验一下我的流量重定向代码并检查它是否适用于您的情况...即发送/接收事件...
【讨论】:
.NET Remoting 不提供任何安全性或控制权,如果您使用 .NET remoting,则预计您的所有系统都会受到损害。它只能在允许跨应用程序域边界通信的进程中使用。
改为使用 WCF。 WCF 提供能够跨越防火墙等的标准和自定义传输。当您开始学习曲线时,请从有前途的东西开始。
【讨论】: