WCF真的取代了.NET Remoting吗?

Mr.*_*Boy 10 .net c# wcf .net-remoting

我可以理解WCF通常比Remoting更好,但两者看起来与我完全不同.MS制作这张漂亮的照片,以显示WCF有多棒(或者其他技术人员每次仅检查一个盒子的差距): alt text http://i.msdn.microsoft.com/dynimg/IC371617.jpg

但是,WCF以SOA为中心,我认为假设每个联网应用程序都希望公开服务是不正确的.

在我的情况下,我正在寻找在不同PC上的两个服务器应用程序实例之间复制对象的方法.WCF似乎只是提供了一个现代版本的COM ...获取一个对象并调用方法,它神奇地调用另一台PC上的版本.但Remoting似乎做了一些完全不同的事情,我不清楚为什么它被弃用而不被类似的技术取代.

那么,MS甚至声称Remoting已经死了吗?或者他们仍然支持它,承认它 WCF 并列吗?

cod*_*zen 6

它确实取代了.Net远程处理.您可以使用带有Tcp通道的二进制格式化程序,并获得与远程处理相同的体验.

对于您的情况,远程处理似乎并不是正确的选择.如果你想复制对象,就像在不同的位置复制它们一样,那么你想序列化它们并将它们作为一个包(WCF术语中的"消息")发送到一个类型中(可能是相同的)在远程端点上键入相同的程序集,但部署在不同的服务器上.这是WCF擅长的地方.远程处理将为您提供从一个端点到另一个端点的"实时"对象的连接.

  • @John - 使用.Net Remoting,它是后者:远程访问对象的状态,只是封送从端点到端点的调用.如果你想发送实际的对象,你想要的更多的是面向服务的东西,它将对象状态序列化并将其作为消息从端点到端点发送.WCF可以做到这两点,但发送消息更自然.这样做的原因是我们通过DCOM了解到跨边界对象状态的透明访问是一种糟糕的设计. (3认同)