微软的远程处理框架.NET Remoting(转天极网)之一

微软

微软的.NET Remoting提供了一种允许对象通过应用程序域与另一对象进行交互的框架。本文将通过两个具体的代码例子介绍它的特性,通过.NET Remoting,两个应用间的通信将变得非常简单,使用上也相当灵活。 <br>
<br>
<br>
  最近几年来,在计算机世界中,关于“向外扩展”(scale-out)与“向上扩展”(scale-up)的讨论不断,并且有向scale-out转化的趋势。在以前,当计算机跟不上应用对性能的要求时,人们将会购买一台更好更昂贵的机器,这就是scale-up,而scale-out则是通过在网络中加入更多的机器来解决这个问题,这样就无需更换整个系统。通过将计算的负担分配在多个系统中,整个系统就有了更高的可用性。<br>
<br>
  如果将这个scale-out的意念更推进一步,我们可能会发现:为什么要将诸如信用卡验证和运送跟踪的处理放在我们的系统呢?如果能够调用售卖者的应用来直接得到这些服务,岂不可以做得更为简单吗?如果能做到这一点,我们就可以扩展自己程序的功能,而无需再加入额外的硬件。值得注意的是,这样做将会另ISV(独立软件开发商)的角色由一个软件提供者,转变为一个服务提供者。<br>
<br>
  这个想法很好,但是目前的技术要实现它的话,存在着不少的问题。DCOM在跨防火墙工作时会有问题。DCOM是建立在私有协议上的,而CORBA存在有多种不同接口的问题。如果将DCOM和CORBA放在一起工作呢,就更麻烦了。<br>
<br>
  为了实现这个scale-out的想法,我们需要一个组件技术,它可以跨越多种类型的网络和多种协议无缝地工作。远程.NET就可以做到这一点。<br>
<br>
  这个无缝的交互是通过使用XML和SOAP来实现的。不过,它并没有认定SOAP进行组件交互的唯一方法,它也并没有认定HTTP或者TCP/IP是用来连接这些服务的网络协议。这样可令远程架构更加灵活,并且可适应协议和网络的变化。<br>
<br>
  .NET架构是使用channel对象将应用连接在一起的。.NET架构提出了两种channel,它们是:<br>
<br>
  System.Runtime.Remoting.Channels.TCP<br>
  System.Runtime.Remoting.Channels.HTTP <br>
<br>
  TCP channel和现有的DCOM非常类似,可提供很高的性能,在机器都处在一个内部网络时,可选用TCP channel,而HTTP channel使用HTTP协议,可让应用在Internet上交互。由于它使用的是HTTP协议,它可以很容易地做到负载均衡,并且能通过防火墙。

时间: 2024-12-29 16:51:18

微软的远程处理框架.NET Remoting(转天极网)之一的相关文章

微软的远程处理框架.NET Remoting(转天极网)之二

微软 以下我们将举一个使用channel的例子.在这个例子中,我们将可以看到使用HTTP channel把两个应用<br>连接在一起是如此的简单.以下的服务器应用提供了一个服务,可将一个字符串的字母顺序反转.<br><br> Server.cs using System;<br> using System.IO;<br> using System.Runtime.Remoting;<br> using System.Runtime.R

一起谈.NET技术,.NET远程处理框架详解

第1章系统总体结构 1.1 总体结构 系统实现需要部署服务器端的远程对象(即一个DbServerLibrary.dll),服务器端要注册通道和该远程对象.客户端要实现一个本地查询的服务器,同时根据SQL解析的结果向各个服务器发送命令,并将结果显示在客户端界面,服务器端可以接受并显示相应的命令. 1.2 关键组件结构 系统结构中关键的组件有远程对象,和本地服务器,实现的功能基本一致.下面以远程对象为例,说明组件的实现.远程对象在服务器端解决方案下的库文件中声明,通过服务器端进行注册,客户端通过TC

.NET远程处理框架详解

第1章系统总体结构 1.1 总体结构 系统实现需要部署服务器端的远程对象(即一个DbServerLibrary.dll),服务器端要注册通道和该远程对象.客户端要实现一个本地查询的服务器,同时根据SQL解析的结果向各个服务器发送命令,并将结果显示在客户端界面,服务器端可以接受并显示相应的命令. 1.2 关键组件结构 系统结构中关键的组件有远程对象,和本地服务器,实现的功能基本一致.下面以远程对象为例,说明组件的实现.远程对象在服务器端解决方案下的库文件中声明,通过服务器端进行注册,客户端通过TC

CUDA并行计算框架(三)应用前景及相比价微软的并行计算框架

关于微软.net4.0推出的并行计算框架 还没深入了解 有兴趣的同学可以参考下http://bitfan.blog.51cto.com/907048/200199系列博文 不过发表下个人的观点 微软.NET 4.0中引入的并行扩展(包括任务并行库TPL和PLINQ)开发技术基于cpu. 从应用领域上来说CPU擅长处理不规则数据结构以及递归算法.分支密集型代码和单线程程序.这类程序任务拥有复杂的指令调度.循环.分支.逻辑判断以及执行等步骤.例如,操作系统.文字处理等,而GPU擅于处理规则数据结构.

.NET Remoting 实现分布式数据库查询

分布式|数据|数据库 前段时间,高级数据库原理课程结课,老师布置了一个大作业--实现一个分布式数据库查询系统,因为鄙人一直学习.net,故想使用这个平台实现,以进一步提高自身的水平.开始热情致高,吾在网上搜了N天,也没有什么好的资料,只找到一篇题目为<利用C#实现分布式数据库查询>的文章,此篇文章在多个site上都有雷同,作者不详--      摸索了几天,找到了实现的方案--.NET Remoting 技术可以实现远程对象,而ADO.NET则提供了强大的数据存取接口.我对ADO.NET比较熟

构建基本的.NET Remoting应用程序

程序 构建一个使用.NET远程处理框架来进行应用域(application domain )间通信的应用程序很简单.你必须实现远程类型(remotable type).用于监听请求的服务应用域和客户应用域.同时,你必须为每个应用域配置远程处理系统(remoting system ),以便可以使用远程激活( remote activation )来激活远程类型.一.创建远程类型(remotable type):为了使其它应用域中的对象可以使用你的类实例,你的类必须从System.MarshalBy

Microsoft .NET Remoting:技术概述

Microsoft .NET Remoting:技术概述Piet Obermeyer 和 Jonathan HawkinsMicrosoft Corporation摘要:本文提供了 Microsoft .NET Remoting 框架的技术概述,其中包括了使用 TCP 通道或 HTTP 通道的示例.目录简介远程对象代理对象通道激活对象的租用生存期总结附录 A:使用 TCP 通道进行远程处理的示例附录 B:使用 HTTP 通道进行远程处理的示例简介Microsoft® .NET Remoting

【转】轻量级IOC框架:Ninject

原文地址:http://www.cnblogs.com/coolcode/archive/2009/11/10/Ninject.html   前言 前段时间看Mvc最佳实践时,认识了一个轻量级的IOC框架:Ninject.通过google搜索发现它是一个开源项目,最新源代码地址是:http://github.com/enkari/ninject/tree/master 用户向导:http://ninject.codeplex.com/wikipage?title=User%20Guide&ref

使用ASP.NET AJAX 1.0框架PreviewGlitz进行网页动画编程

本文基于目前最新框架的CTP版本,对它提供的淡入淡出动画功能在网页编程中进行试验. 一.引言 微软最新推出的AJAX框架为ASP.NET AJAX 1.0(下载地址为http://ajax.asp.net/downloads/default.aspx),此框架由ASP.NET 2.0 AJAX Extensions 1.0和ASP.NET AJAX Control Toolkit两个基本部分组成.此外,还提供了一个更新一些的CTP(社区测试试用)版本,下载页面如下图1所示: 图1:下载示例程序所