C#_Remoting
henreash
Think Differently.
展开
-
[Remoting] 四:生存期租约(收藏转帖http://www.rainsts.net/article.asp?id=411)
Remoting 采取了一种称之为 "租约" 的机制来管理远程对象(Singleton、CAO)的生存期策略。每个应用程序域中都有一个租约管理器(LifetimeServices),它负责管理所有参与生存期的远程对象租约。租约管理器定期检查所有租约以确定过期的租约时间,如果租约已过期,将向该对象发起人(Sponsor)的发送请求,查询是否有谁要续订租约,若没有任何发起人续订该租约,租约将被移除,该转载 2008-03-26 14:11:00 · 1390 阅读 · 0 评论 -
step by step remoting
一、创建一个类库项目,创建用于remoting的业务类。编译后生成dll。原创 2014-11-03 13:43:42 · 991 阅读 · 0 评论 -
[Remoting] 七:调用上下文(收藏转帖http://www.rainsts.net/article.asp?id=414)
调用上下文(CallContext)提供了用于存储属性集的数据槽,可以让我们在调用服务器方法时将一些额外数据一并传送过去。当然,这些额外数据有点限制,就是必须要实现 ILogicalThreadAffinative 接口。调用上下文在应用程序域边界被克隆,其数据槽不在其他逻辑线程上的调用上下文之间共享。我们利用这个特性写一个简单的身份验证例子。using System;using System转载 2008-03-26 14:14:00 · 1288 阅读 · 0 评论 -
[Remoting] 六:异步调用(收藏转帖http://www.rainsts.net/article.asp?id=413)
Remoting 的异步调用和单个应用程序域异步编程基本相同。using System;using System.Collections;using System.Collections.Generic;using System.Reflection;using System.Threading;using System.Security.Permissions;using System.Ru转载 2008-03-26 14:13:00 · 1590 阅读 · 0 评论 -
[Remoting] 十一:事件(收藏转帖http://www.rainsts.net/article.asp?id=419)
在 Remoting 中使用 Event 主要是为了实现 CallBack 机制,让服务器在接收到某个 "消息" 时,主动调用某个或多个客户端的方法。我们先看一个例子。using System;using System.Collections;using System.Collections.Generic;using System.Reflection;using System.Runtim转载 2008-03-26 14:20:00 · 1234 阅读 · 0 评论 -
[Remoting] 十:追踪服务(收藏转帖http://www.rainsts.net/article.asp?id=417)
.NET Remoting 的追踪服务使我们可以获取由远程结构发出的有关对象与代理的行为通知。追踪服务是可插入的,我们可以将一个或多个自定义跟踪处理程序注册到追踪服务中,当发生封送、取消封送或断开当前 AppDomain 中的对象或代理时,注册到中的每个追踪处理程序都将被远程处理调用。创建自定义追踪处理程序很简单,实现 ITrackingHandler 接口,然后调用 TrackingServic转载 2008-03-26 14:18:00 · 1302 阅读 · 0 评论 -
[Remoting] 八:元数据(收藏转帖http://www.rainsts.net/article.asp?id=415)
.NET Remoting 基础结构需要正确的元数据,以便将一个应用程序域中的对象连接到另一个域中的对象。通常我们将包含远程类型的程序集同时发布到服务器和客户端,但这并不是一个好主意。有太多的原因阻止我们这么做:1. 我们并不想客户端开发人员知道远程对象的内部细节,诸如私有成员内容等。2. 我们不希望每次升级都更新客户端文件。SoapsudsRemoting 为我们提供了一个工具 "Soapsud转载 2008-03-26 14:15:00 · 1673 阅读 · 0 评论 -
[Remoting] 三:激活模式(收藏转帖http://www.rainsts.net/article.asp?id=410)
对于 MBR,我们可以指定不同的激活模式。 服务器激活(Server-Activated Objects / SAO):只有在客户端调用代理对象第一个方法时才创建,区分为 Singleton 和 SingleCall 两种模式。Singleton 一如设计模式中的名称,无论有多少客户端都只有一个实例存在;而 SingleCall 则为每次调用创建一个新对象,因此它是无状态的。Sing转载 2008-03-26 14:09:00 · 1539 阅读 · 0 评论 -
[Remoting] 十二:配置文件(收藏转帖http://www.rainsts.net/article.asp?id=420)
使用配置文件替代硬编码可使应用程序拥有更高的灵活性,尤其是对分布式系统而言,意味着我们可以非常方便地调整分布对象的配置。Remoting 的配置文件比较简单,详细信息可以参考 MSDN。 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/dv_fxgenref/html/52ebd450-de87-4a87-8bb9-6b1转载 2008-03-26 14:21:00 · 1865 阅读 · 0 评论 -
[Remoting] 五:信道(收藏转帖http://www.rainsts.net/article.asp?id=412)
信道(Channel)是 Remoting 体系的承载平台,负责处理客户端和服务器之间的通讯,其内容包括跨域通讯、消息传递、对象编码等等。信道必须实现 IChannel 接口,根据通讯方向又分别提供了继承版本 IChannelReceiver 和 IChannelSender。Remoting 框架为我们提供了 IPC、TCP 以及 HTTP 的实现版本,当然我们还可以在网络上找到其他协议的实现版转载 2008-03-26 14:12:00 · 1554 阅读 · 0 评论 -
NET Remoting一,二(收藏转帖http://www.rainsts.net/article.asp?id=408)
有太多的原因让我忽略了 Remoting,不过现在用它来开始 SOA 和 WCF 的旅途还是不错的选择。.NET Remoting 封装了分布式开发的消息编码和通讯方式,让我们用非常简单的方式既可完成不同模式的分布系统开发,同时其可配置、可扩展的特性也让我们拥有极大的灵活性。当然,我更看好其升级版本 —— WCF。要了解 Remoting 的基本信息和介绍,还是看 MSDN 比较好。先写一个简单的转载 2008-03-26 14:08:00 · 3902 阅读 · 0 评论 -
Message Queuing(收藏转帖http://www.rainsts.net/article.asp?id=418)
消息队列(MSMQ) 作为一种系统服务,为我们提供了非常好的分布操作机制。但不知道什么原因,我很少看到有使用该技术的项目。MSMQ 究竟有什么好处呢? 脱机操作:发送或者接收方可以使用消息队列作为局部或全局缓存,在另一方脱机的情况下发送或接受数据。这个应用在分布体系中很重要,可以避免某应用服务器当机造成整个业务系统瘫痪,由于数据被存储在队列中,瘫痪的服务器重启依然可以继续业务处理,也转载 2008-03-26 14:19:00 · 2791 阅读 · 0 评论