我在项目中需要开发一个bho组件。但现在的IE7,IE8每开一个tab,都会重新创建一个新的bho实例。
有没有办法创建一个在多个tab直接都能共享的唯一实例,因为需要关联一个IDockWindow,
所以通过数据库、注册表等保存数据的方式行不通。我现在资源分很少,但可以付费咨询(由公司支付费用,价钱好商量)。恳求各位帮忙。

解决方案 »

  1.   

    IE BHO一直都是一个tab/window就是一个实例. 不是从IE7 才是这样.虽然IE7开一个tab就会实例化一个BHO, 但是由于是同进程, 所以你可以写一个singleton的类, 每次BHO取单例就可以了, 保证你的BHO可以在多tab共享信息.IE8不一样, IE8是多进程, 你想多进程共享数据的话, 那就很麻烦. 不过IE8 有一个设置, 可以让你设置为使用单进程, 这样就和IE7一模一样, 一个singleton的类共享数据.google "TabProcGrowth"
    如果你非得要做成多进程共享数据, 那么.Net的remoting,以及MessageQueue等, 都可以进行类的传递.