我有一个COM+组件,这个组件会调用数据库server的一个DTS 包,这个包是不能并发的,所以我希望在COM+组件内部实现这种同步调用,我知道WINDOWS程序可以用内核对象来做同步,我不清楚COM+是不是有更好的或者更方便的方法?

解决方案 »

  1.   

    你是想在COM+组件中同步调用DTS包,直到DTS调用完成后才返回吗?
      

  2.   

    to misvcom(零下一度) 是的,怎么做呢?
      

  3.   

    想请问一下COM+的基础知识,是否是每个客户请求server端的组件时,server端会创建一个新的进程还是所有的客户端共享一个server进程?
    STA是对进程内来说的呢,还是所有的客户共享server端的STA?
      

  4.   

    你是否可以对那个COM+组件进行二次开发?可以的话,保留其业务逻辑,重写调用DTS包部分的代码换成同步。但你说到“这个包是不能并发的”,如果是这样的话,同步问题就不在于那个COM+组件,而是那个DTS包本身的问题。
      

  5.   

    DTS包的逻辑比较复杂,中间要处理一些临时表(insert / truncate),如果并发的话数据就会乱掉 (也是设计有问题),现在希望在COM组件上控制一下会比较容易