是.NET Remoting的真的去precated? [英] Is .NET Remoting really deprecated?

查看:150
本文介绍了是.NET Remoting的真的去precated?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每个人都在说如何.NET Remoting的被替换为WCF,但我不知道是多么准确的是。我还没有看到远程正在去precated任何官方消息,而且在我看来,有一定场景中远程更有意义比WCF。无远程处理有关的物体或方法都已经去precated,即使是在4.0版本的框架。这也是我的理解是System.AddIn在3.5和4.0的框架使用远程处理。

没有人有任何官方消息相反的?

在文章中,选择在.NET 通信选项( 3.0,因为这是该条款的最新版本),它规定:

  

8跨应用程序域通信

     

如果您需要支持在同一进程中,在不同的应用领域的对象之间的通信,则必须使用.NET远程处理。

现在,当然,这是不准确的,因为WCF当然是可以用来跨AppDomain的界限,但它给了该方案的正式建议?

更新:我给克莱门斯Vasters(谁是拥有远程处理和WCF团队)这个问题:

  

克莱门斯,我知道你在拥有两个远程处理和WCF的团队,我有几个,我认为我需要去的来源问题。

     

首先,我有一个关于远程是否会离开的问题。具体来说,我们有一个使用远程广泛用于进程跨AppDomain的通信一个相当大的应用程序,我在想,如果这个使用远程的被认为是遗产。如果是这样,将AppDomain.CreateInstance和朋友被替换成别的东西?

这是他的回复:

  

远程处理是.NET Framework的一部分,因此它不会消失。自Windows NT 3.5 / Windows 95的COM已经在Windows中,并没有消失,我看不出很快消失,无论是。

     

这是说,有很小的投资发展进入远程处理。 WCF是远程的继任者,并取代了COM / DCOM的管理code。

     

对于进程,跨AppDomain的沟通Remoting的是沟通的CLR的原生方式。如果您看到抽更大的数据还是在很短的时间非常多的邮件数量的性能问题,你应该认真考虑在WCF和NetNamedPipeBinding。

解决方案

称它是传统技术是一种更准确的描述。

<一个href="http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx">http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx

  

本主题是特定于旧式   但留作技术   与现有的向后兼容性   应用程序,不建议   新的发展。分散式   应用程序现在应该发展   使用Windows通讯   基础(WCF)。

更新:WCF没有外部/内部/工艺/外部/内部AppDomain的区分。如果您在使用WCF台计算机通信使用命名pipes-使用它应该给几乎所有现实的情况不错的表现。

有关各种分布式通信技术的性能比较看到这里

Everyone is saying how .NET Remoting is being replaced by WCF, but I'm wondering just how accurate that is. I haven't seen any official word that Remoting is being deprecated, and it seems to me there are certainly scenarios where Remoting makes more sense than WCF. None of the Remoting-related objects or methods have been deprecated, even in version 4.0 of the framework. It is also my understanding that System.AddIn in the 3.5 and 4.0 frameworks use Remoting.

Does anyone have any official word to the contrary?

In the article, Choosing Communication Options in .NET (for 3.0, as that's the latest version of that article), it states:

8 Cross-application domain communications

If you need to support communication between objects in different application domains within the same process, you must use .NET remoting.

Now, that, of course, isn't accurate, as WCF can certainly be used to cross appdomain boundaries, but is it giving the official recommendation for that scenario?

Update: I sent Clemens Vasters (who was on the team that owns Remoting and WCF) this question:

Clemens, I understand you're on the team that owns both remoting and wcf, and I have a couple of questions that I believe I need to go to the source for.

First, I have a question about whether remoting is going away. Specifically, we have a rather large application that uses remoting extensively for in-process cross-appdomain communication, and I was wondering if this usage of remoting is considered "legacy". If so, will AppDomain.CreateInstance and friends be replaced with something else?

This is his reply:

Remoting is part of the .Net Framework and as such it isn't going away. COM has been in Windows since Windows NT 3.5/Windows 95 and hasn't gone away and I don't see that going away anytime soon, either.

That said, there is very minimal development investment going into Remoting. WCF is the successor of Remoting and supplants COM/DCOM for managed code.

For in-process, cross-appdomain communication Remoting is the CLR's native way of communicating. If you are seeing performance issues pumping larger amounts of data or very many messages in short time, you should take a serious look at WCF and the NetNamedPipeBinding.

解决方案

Calling it a legacy technology is a more accurate description.

http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx

This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using the Windows Communication Foundation (WCF).

Update: WCF doesn't distinguish between inter/intra/process/inter/intra-appdomain. If you are using single machine communication in WCF you use named pipes- using it should give good performance in virtually all realistic scenarios.

For a performance comparison of various distributed communication technologies see here.

这篇关于是.NET Remoting的真的去precated?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆