【问题标题】:.NET Remoting and multithreading inquiry [closed].NET 远程处理和多线程查询 [关闭]
【发布时间】:2016-08-05 17:31:01
【问题描述】:
如果这些是不好的问题,我深表歉意,但是不久前我偶然发现了 .NET 远程处理,这让我有点困惑。我的理解是 .NET 远程处理是一种调用与当前程序完全分离的对象的方法,这是正确的吗? (我的研究包括阅读并可能理解MSDN Technical Overview of .NET Remoting)。
当我偶然发现 .NET 远程处理功能 (here) 时,那是因为我正在寻找多线程的方法。 .NET 远程处理是多线程的一种形式吗?跟多线程有关系吗?
提前感谢您的宝贵时间。
【问题讨论】:
标签:
c#
.net
multithreading
remoting
【解决方案1】:
首先,如果您开始新的开发,.NET Remoting 不是一个好的选择,因为它在很久以前就停止了。它仍然可以提供向后兼容性。
自 .NET 3.0 以来,进行 .NET 远程处理的正确选择是 Windows Communication Foundation。
关于您的担忧,.NET Remoting 是一种模拟来自其他 AppDomains 的对象甚至来自同一台或其他机器的其他进程可以像常规离线对象一样以非常透明的方式共存的方法。
简而言之,我想说 .NET Remoting 不是为多线程目的而设计的,而是作为一种进程间通信方法。
现在使用 WCF 或 ASP.NET Web API,您可以在同一台机器中的进程之间或同一或其他网络中的其他机器之间使用和发出对象。请参阅 WCF 和 ASP.NET Web API 自托管风格,了解如何在您的进程中托管网络 API 并让其他进程使用它们。