.net-Remoting远程对象的类型有几种呢?
主要有两类:服务器激活和客户激活。
服务器激活有 :a****
SingleCall单调模式或者叫无状态模式。
这种模式下,服务器端远程对象随着方法调用产生,一次调用产生一个远程对象,随即释 放,服务器端不需要保留客户状态。占用资源少。
SingleTon模式单例模式比较恰当。
这种模式下,远程对象为所有客户端共享,适合于客户端获取只读数据。若要存取数据,则需要加锁。
客户激活,可以理解为有状态的远程对象,针对客户端的。占用资源比较大。
可以利用.net--Remoting调用环境的特性,把数据存于客户端,在传递时把状态数据作为参数一起传到服务器,然后服务器端从调用环境中读取状态信息,这种方式可以SingleCall单调模式下作为客户激活远程对象的一种替代的解决方案。CallContext.SetData("myCookie",CustDataObj)----->CallContext.getData("myCookie")获取传递的状态信息。
注意CustDataObj必须是可串行化,然后必须实现ILogicThreadAffinative接口