原话:“客户端激活的对象”是当客户端调用 new 或 Activator.CreateInstance() 时在服务器上创建的。客户端本身使用生存期租用系统,可以参与到这些实例的生存期中。这种激活机制能够提供最广泛的设计灵活性。如果使用客户端激活,当客户端试图激活对象时,激活请求将发送到服务器。这种机制允许使用参数化的构造函数和针对每个客户端的连接状态管理。使用客户端激活,每个客户端接受其特定的服务器实例提供的服务,从而简化了多个调用时对象状态的保存过程。但使用这些对象时一定要谨慎,因为很容易忘记会话是分布式的,对象实际上不仅在进程之外,而且在多层应用程序的情况下,还有可能在计算机之外(在 Internet 上设置一个属性并不过分)。
某日A去超市买胸罩。
对话:
//会话1开始
A:“你这里有胸罩卖吗?”
售货员:“有”。
//会话1结束
//会话2开始
A:“什么款式的?”
售货员:“XX款式和XX款式”。
//会话2结束
//会话3开始
A:“这个XX是多少杯的?”
售货员:“C/D/E/F”。
//会话3结束
……依此类推。乃分布也。当然,你也可以不分布。例子:
某日B去超市买胸罩。
对话:
//会话1开始
B:“你这里有胸罩卖吗?什么款式?多少杯型?”
售货员:“不好意思,我们这里是水果超市……”。
//会话1结束
//“什么款式?多少杯型?”为废话也,此为分布的好处之一。
……依此类推。乃单点也。
我也不清楚.
即可以在同一台机器上实现不同程序间的通讯
也可以在不同的机器上进行通讯