使用.NET远程处理访问其他应用程序域中的对象

2016-01-29 12:54 8 1 收藏

使用.NET远程处理访问其他应用程序域中的对象,使用.NET远程处理访问其他应用程序域中的对象

【 tulaoshi.com - ASP.NET 】

在运行于不同进程中的对象之间建立通讯(无论是在同一台计算机上,还是在相距数千公里的计算机上)是常见的开发目标,尤其是在生成大范围分布式应用程序的时候。传统上,这需要深入了解相关知识:不仅是关于通讯流任一端的对象的知识,而且还有关于低级别协议的主机、应用程序编程接口以及配置工具或文件的知识。简言之,它是一项需要大量专业知识和经验的复杂任务。.NET 框架提供了几种可用来快速而方便地完成此任务的通讯方法,而无论您是否对协议和编码有大量的了解。因此,无论是需要快速开发 Web 应用程序,还是要花费更多时间生成关键的企业范围的应用程序(在此过程中涉及许多计算机或操作系统,并使用多种协议和序列化优化),.NET 框架都会支持您的方案。跨进程通讯仍然是一项复杂的任务,但现在它的许多工作都由 .NET 框架处理。选择 .NET 中的通讯选项.NET 框架提供了几种与不同应用程序域中的对象进行通讯的方式,每一种方式都具有特定级别的专业性和灵活性。例如,Internet 的发展已经使 XML Web services 成为一种颇具吸引力的通讯方法,这是因为 XML Web services 是建立在使用 XML 的 HTTP 协议和 SOAP 格式化的通用基础结构之上的。这些都是公共标准,并且可以直接与当前的 Web 基础结构结合使用,而无需担心其他的代理或防火墙问题。 然而,如果只是存在与在 HTTP 连接上使用 SOAP 序列化相关的性能问题,那么并不是所有的应用程序都应使用某种形式的 XML Web services 来建立。下面的子节应有助于您确定要为应用程序采用哪种形式的对象间通讯。ASP.NET 还是远程处理?ASP.NET 和 .NET 远程处理都是进程间的通讯实现方法。ASP.NET 提供一种由 Internet 信息服务 (IIS) 承载的基础结构,该结构擅长处理基本类型,而且是 Web 应用程序开发人员所熟悉的。.NET 远程处理是一般性的且具有高度可扩展性的进程间通讯系统,可以用来创建在 IIS 中承载的 XML Web services(并具有 ASP.NET 和 IIS 的所有安全性、可伸缩性以及会话和应用程序状态)或任何其他类型的通讯。所需的通讯类型和您所熟悉的编程模型是您在两种编程模型之间进行选择的主要依据。请首先选择所需的进程间通讯类型,然后选择能以最容易的方式最佳地实现您的决定的编程模型。以下是选择您可能需要的进程间通讯类型的一些依据(按优先级排序): 1. 安全需要。如果需要保证调用的安全,则必须使用在 IIS 中承载的基于 HTTP 的应用程序,无论它是 ASP.NET 应用程序还是远程处理应用程序。在 IIS 中,基于 ASP.NET 和 .NET 远程处理的应用程序都具有您可能需要的所有安全功能。使用任何其他传输协议,或是在 IIS 外使用 HttpChannel,都需要您自己完成安全工作。请注意,在使用 HTTP 连接时无需使用 SOAP 编码格式;可以使用二进制编码来提高速度。 2. 速度。如果每个调用的效率很关键,则应当使用二进制编码,即使您不使用默认的 TcpChannel 也如此。在远程处理中,可以结合使用二进制格式化程序和 HttpChannel;在 ASP.NET 中,可以使用 POST 通讯。单是使用二进制格式化就可以显著地提高远程处理中的调用性能,即使您使用的是 HttpChannel 也如此。如果没有任何安全问题(例如,如果正在生成完全在防火墙内部运行的小应用程序),则使用二进制格式化的默认 TcpChannel 就能够达到最佳性能。 3. 交互操作。如果必须在不同的操作系统之间进行交互操作,则无论使用 .NET 远程处理还是使用 ASP.NET,都应当使用 SOAP 格式化协议。 4. 可缩放性。无论使用 .NET 远程处理还是使用 ASP.NET,将应用程序承载在 IIS 内部都会获得所需的可缩放性。 5. 随机变更。有几种问题可能会与您有关,例如: · 编程模型易于使用。 · 易于实现扩展性。 · 自定义需要。 · 使用 C++ 的托管扩展。 · 对于远程对象激活、生存期或用户权限的特殊需要。 · 是否需要完全的类型保真。 .NET 远程处理系统为所有这些要求提供了解决方案,而 ASP.NET 系统只对其中某些要求提供支持。 以下是使用 ASP.NET、System.Net 命名空间和 .NET 远程处理生成的 XML Web services 之间存在的一些差异的简短摘要。XML Web services如果您是生成 ASP 应用程序并希望使用 Web 应用程序模型和 ASP.NET HTTP 运行库的功能(包括 Microsoft Visual Studio .NET 中的强大支持),则使用 ASP.NET 生成的 Web 服务可以满足您的要求。通过 XML Web services 基础结构,可以使用最适合于基于 Web 的应用程序的协议、格式和数据类型来方便地创建自己的组件供其他应用程序使用,或是使用他人创建的组件。它不支持 .NET 计算机之间的完全类型保真,并且仅可以传递某些类型的参数。System.Net 命名空间可以使用 System.Net 命名空间中的类从无到有生成整个通讯结构。还可以使用 System.Net 类实现您自己的可以插入到远程处理结构中的通讯协议和序列化格式。.NET 远程处理.NET 远程处理提供用于实现任意数量的全面通讯方案(包括但不仅限于 XML Web services)的工具。使用 .NET 远程处理可以:

来源:http://www.tulaoshi.com/n/20160129/1488066.html

延伸阅读
MFC应用程序中指针的使用 作者:gouguijia 1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针 4) 获得View(已建立)指针 5) 获得当前文档指针 6) 获得状态栏与工具栏指针 7) 获得状态栏与工具栏变量 8) 在Mainframe获得菜单指针 9) ...
标签: autocad教程
实例1最简单的VBA程序—“Hello.dvb” Step1创建新文件 运行AutoCAD2002系统,以“acadiso.dwt”为样板创建图形文件,并调用“vbaide”命令进入VBA环境; Step2创建窗体 (1)选择菜单【Insert(插入)】→【UserForm(用户窗体)】,编辑器将创建一个新的窗体,并显示在窗体窗口中。选择该窗体,然后在属性窗口中将“Caption”项改为“DrawT...
    SSL 为使用 VNC 和标准 Web 浏览器对远程桌面进行方便、安全的访问提供了一种新颖的机制。     您希望使用比专有解决方案更方便并且具有比 ssh 更具安全性的方式来访问远程桌面吗?本文将介绍一种很好的方法,这是我们之前从未介绍过的一种技术。     这种想法是使用 SSL 为嵌入在 Web ...
一、 引言 如果你是一个Java软件和Ajax开发者,那么,Google Web Toolkit(GWT)应该已经引起你的关注。 Google公司已经于2006年5月在Apache许可协议下发布了这种免费的开发工具包。GWT的设计目的是为了简化用Java语言开发Ajax应用程序。Google初始发行的beta版本可以适用于Windows和Linux平台,并许诺稍后要发行一个Mac OS X版...
11.1 Help文件的建立 Help文件是Micosoft Windows3.0以上的版本提供的超文本帮助文件。利用这种超文本,用户可非常方便地使用帮助文件系统。帮助文件是以主题为主线进行编写的,一个主题可以跳转至相关的主题,也可按关键字进行主题查询。帮助文件与软件开发工具相结合,可实现应用程序的'上下文敏感',而且帮助系统自动装入...

经验教程

494

收藏

21
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部