在C/S架构中,我用数据模块保存一些用户信息,如用户名,所在部门等,把他们做成数据模块的一个属性,方便读取,但是到了三层架构中,这部门信息该放到什么地方?
分析来看,这部份属于业务逻辑层,应该放到中间层,但是MTS数据模块或远程数据模块是针对一个会话唯一的吗?也就是说,当我客户端连到中间层后,这部份数据被一次性读出放到远程数据模块中,然后我在程序运行时任意读取,而其它用户再登陆时彼此互不影响,是这样的吗?谢谢!

解决方案 »

  1.   

    大概如此,但你可以封装成COM+对象供客户端调用
      

  2.   

    用DELPHI远程数据模块做的DCOM,(EXE),每个会话是唯一的。如果是MTS或者COM+。。那情况要复杂得多,只能说未必。
    楼主可以实际测试一下。
      

  3.   

    如果是COM+的话,各个SESSION的数据是会独立存放在各个Apartment(对于Apartment)自己的空间中,对于Free等MTA型组件则需要对全局的资源进行同步访问。