• λ我爱Aspx >> Asp.Net >> 一步一步学Remoting之二:激活模式
  • 一步一步学Remoting之二:激活模式

  • :aspxer  Դ:internet  :2007-5-15 20:46:29  ؼ:
  • />

(这里注意大小写,大写的C)

再重新运行服务端和客户端,打开多个客户端发现始终显示1。由此验证了SingleCall 类型对于每个客户端请求始终只有一个实例。下一个方法调用将由另一个服务器实例提供服务。

下面再说一下客户端的激活模式,msdn中这么写:

客户端激活的对象是其生存期由调用应用程序域控制的对象,正如对象对于客户端是本地对象时对象的生存期由调用应用程序域控制一样。对于客户端激活,当客户端试图创建服务器对象的实例时发生一个到服务器的往返过程,而客户端代理是使用对象引用 (ObjRef) 创建的,该对象引用是从在服务器上创建远程对象返回时获取的。每当客户端创建客户端激活的类型的实例时,该实例都将只服务于该特定客户端中的特定引用,直到其租约到期并回收其内存为止。如果调用应用程序域创建两个远程类型的新实例,每个客户端引用都将只调用从其中返回引用的服务器应用程序域中的特定实例。

理解一下,可以归纳出

1、客户端激活的时间是在客户端请求的时候,而服务端激活远程对象的时间是在调用对象方法的时候

远程对象修改如下:

using System;

namespace RemoteObject

{

public class MyObject:MarshalByRefObject

{

private int i = 0 Ҷƪл˵?

  • һƪ一步一步学Remoting之三:复杂对象
    һƪ.NET Remoting 实现分布式数据库查询