Microsoft Corporation
Rockford Lhotka
Magenic Technologies
2003年5月11日
摘要:Rocky Lhotka 向您展示了 Remoting 在客户端/服务器和对等通信中的基本应用,以及使用 Remoting 在客户端工作站与运行在服务器 COM+ 中的 ServicedComponent 之间进行通信的方法。
下载 vbAppliedRemoting.exe 示例文件(英文)。
大约 18 个月以前,我在本专栏写过一篇比较 Web 服务和 Remoting 的文章(Remoting and XML Web Services in Visual Basic .NET [英文])。此后,越来越多的人开始开发基于 .NET Framework 的应用程序,因此而引发的有关 Remoting 的作用以及如何使用的问题也不断增加。还有一些有关如何使用 COM+ 及如何创建跨网络调用 ServicedComponent(运行于 COM+ 中的组件)的客户端应用程序的问题。
虽然在 Web 上有很多讨论 Remoting 的文章,相关的书籍也不少,但我认为还是有必要在本专栏再讨论一下这个主题。本文我们将演练 Remoting 在客户端/服务器和对等通信中的基本应用,并介绍使用 Remoting 在客户端工作站与运行在服务器 COM+ 中的 ServicedComponent 之间进行通信的方法。
在许多方面,Remoting 都是 DCOM(分布式 COM)的合理接任者。它提供了一套大致类似 DCOM 的功能,同时还提供了一套类似 Web 服务的功能。Remoting 在很大程度上兼有两者的长处。
使用 Remoting,可以创建各种基于网络的应用程序(典型的 Visual Studio® .NET 应用程序类型显示在括号中):
类型 | 客户端模式 | 服务器模式 |
---|---|---|
客户端/服务器 | 智能,有状态或无状态 (Windows 窗体或 Web 窗体) | 无状态,提供服务 (ASP.NET) |
自动化 | 智能,有状态或无状态 (Windows 窗体或 Web 窗体) | 有点象 ActiveX EXE (Windows 窗体) |
基于服务器 | 智能,最小状态 (Windows 窗体或 Web 窗体) | 有状态,维护数据并提供服务 (Windows 服务) |
对等 | 智能,有状态 (Windows 窗体) | 智能,有状态 (Windows 窗体) |