如果我现在有一个产品,前台用asp支持WEB访问,后台为COM+组件,主要为业务组件,最后是一个数据库访问组件,主要是连接数据库。请问如果这样的一个产品,我想在服务器上装多套,也就是每一套产品要对应一个数据库,现在的问题是,组件名称都一样,也就是后台只注册了一套,怎么样让同一产品的不同实例都能访问他对应的数据库。注:安装盘是一摸一样的,实例是在安装时配置,也不希望在
各个组件中用参数来传递,这样产品灵活性太差,耦合的太紧。高手给个意见!
各个组件中用参数来传递,这样产品灵活性太差,耦合的太紧。高手给个意见!
公用数据库访问组件为A,
业务组件b 方法B1,B2
业务组件c 方法c1,C2现在两个产品同时被访问
第一个访问为:b业务组件的方法b1
第二个访问为:c业务组件的方法C1而C1函数中实际用到了B组件的B2方法,我如果在ASp页面中把产品标识当参数传入他第一个调用的组件
而这个组件又要把这个参数继续传递下去,想想看,这种程序的结构该是什么样啊!
A是可以启动多个实例的服务
B是公共服务,只可以有一个实例。
B必须有A的详细信息来做记录。
A的配置里面添加一个ID,B有一个访问类的配置表,包括A的id列。这样也算是松耦合。
所有的数据库访问都是业务组件调用一个公用数据库访问组件来完成的。数据库访问组件会在初始化的时候读入配置文件,根据设置来和指定数据库连接。
现在客户要在一台机器上装几套我们一样的产品给不同部门使用。这样就带来一个问题,数据库组件如果不知道当前组件是被谁调用的,他就不知道该去访问哪个数据库。我们现在的解决方案是在每个调用
后台组件的页面把配置参数传进去,但是这样工作量太大,而且组件间有交叉调用的话,这个配置参数得传递很多次,最后才能进入数据库访问组件中,这样带来我们程序的灵活性很差,所有组件都和这个产品耦合太紧。这样说明白了吧!
你说SQlserver一台机器上多实例是怎么实现的,我不相信,微软会从头到尾的传参数!