.NET 中的通信选项:种类&比较 (From MSDN)

.NET Framework 提供了几种与不同应用程序域中的对象进行通信的方式,每一种方式都具有特定级别的专业性和灵活性。

ASP.NET 还是远程处理(Remoting)?
ASP.NET 和 .NET 远程处理都是进程间的通信实现方法。ASP.NET 生成的 XML Web services 和用 .NET 远程处理生成的 XML Web services 之间的比较:

1. 安全需要。
基于 HTTP 的应用程序,ASP.NET 和 .NET 远程处理使用 IIS 所提供的安全服务。当 .NET 远程处理在 IIS 之外(例如,在 Windows 服务中)承载时,它不会提供任何安全服务。
2. 速度。
.NET 远程处理为您提供了使用二进制编码和默认 TcpChannel(它提供最佳的进程间通信性能)的选项,因此它相对于用 ASP.NET 生成的 XML Web services 而言具有潜在的性能优势。用 ASP.NET 生成的 XML Web services 始终会使用 SOAP 编码,该编码的性能通常低于二进制编码。
3. 交互操作。
4. 可缩放性。
5. 公共语言运行库功能的使用。

可以在远程处理应用程序中使用对于用 ASP.NET 生成的 XML Web services 不可用的 .NET 功能。这些功能包括: 接口/CallContext/属性/索引器/ C++ 托管扩展/客户端和服务器应用程序之间的类型保真/ 委托。
6. 面向对象的应用程序设计。
用 ASP.NET 生成的 XML Web services 并不代表面向对象的设计范例。像 Web 页一样,它们基本上是无状态的 Web 资源(虽然 IIS 和 ASP.NET 基础结构提供了一些状态服务)。.NET 远程处理对象属于对象,并且可以按对象来处理。

System.Net
可以使用 System.Net 命名空间中的类从无到有生成整个通信结构。还可以使用 System.Net 类实现可插入到远程处理结构中的通信协议和序列化格式。
原文地址:https://www.cnblogs.com/silva/p/192648.html