Remoting的各种激活模式与生存周期探讨

来源:互联网 发布:淘宝卖衣服的 编辑:程序博客网 时间:2024/06/06 06:44

//服务器的四种激活方式

<1> SingleCall激活方式:

RemotingConfiguration.RegisterWellKnowServiceType(typeof(ObjType),”Uri”,WellKnownObjectMode.Singlecall);

<2> SingleTon激活方式:

RemotingConfiguration.RegisterWellKnowServiceType(typeof(ObjType),”Uri”,WellKnownObjectMode.Singlecton);

<3> 客户端激活方式:

RemotingConfiguration.ApplicationName=””;

RemotingConfiguration.RegisterActivatedServiceType(typeof(ObjType));

<4> RemotingServices.Marshal(Obj,”Uri”);

  :显示地创建了远程对象实例,然后将其Marshal到通道中,形成ObjRef指向对象的代理.

生存期:只要生命周期没有结束,这个对象就一直存在.

//四种激活方式对应客户端实例化的例子

<1> SingleCall激活方式:

<2> SingleTon激活方式 :

ObjRef obj=(ObjRef)Activator.GetObject(typeof(ObjRef),”Uri”);

<3> 客户端激活模式

客户端激活模式有两种:

1).调用RemotingConfiguration的静态方法RegisterActivatedClientType().这个方法返回值Void,它只是将远程对象注册在客户端而已。具体的实例化还需要调用对象类的构造函数.

RemotingConfiguration.RegisterActivatedClientType(typeof(ObjRef),”Uri”));

ObjRef obj=new ObjRef();