每个人都在说怎么做.网络远程处理正被WCF取代,但我想知道这到底有多准确.我还没有看到任何官方的说法表明远程处理正在被弃用,而且在我看来,在某些情况下,远程处理比WCF更有意义.没有任何与远程处理相关的对象或方法被弃用,即使在框架的4.0版本中也是如此.这也是我对这个系统的理解.3.5和4.0框架中的AddIn使用远程处理.
有没有人有任何与此相反的官方说法?
在这篇文章中,Choosing Communication Options in .NET(对于3.0,因为这是该文章的最新版本)声明:
8跨应用程序域通信
如果您需要支持同一进程内不同应用程序域中的对象之间的通信,则必须使用.NET Remoting.
当然,这并不准确,因为WCF当然可以用于跨越appdomain边界,但它是否给出了该场景的官方建议?
更新:我向Clemens Vaster(他在拥有Remoting和WCF的团队中)发送了这个问题:
克莱门斯,我知道你在拥有远程处理和wcf的团队中,我有几个问题,我认为我需要go 问来源.
首先,我有一个关于远程处理是否会消失的问题.具体来说,我们有一个相当大的应用程序,它广泛使用远程处理进行进程内跨应用程序域通信,我想知道远程处理的这种使用是否被视为"遗留".如果是这样的话,AppDomain公司也会这么做.CreateInstance和朋友会被其他东西取代吗?
以下是他的回答:
远程处理是应用程序的一部分.Net框架,因此它不会消失.COM自Windows NT 3.5/Windows 95以来就一直在Windows中,并没有消失,我也不认为这种情况会很快消失.
也就是说,用于远程处理的开发投资非常少.WCF是远程处理的继任者,取代了托管代码的COM/DCOM.
对于进程内通信,跨appdomain通信远程处理是CLR的原生通信方式.如果您发现性能问题会在短时间内产生大量数据或大量消息,那么您应该认真研究WCF和NetNamedPipeBinding.