Dej*_*vic 7 .net c# excel appdomain
我们有一个excel插件,通常工作正常,我们没有任何设置使用AppDomains.
然而,其他一些插件似乎迫使我们的代码第二次加载,我们最终让我们的代码运行在两个不同的AppDomains(当我们想要执行一个动作时,我们将它放在AppDomain1 的队列中,然后, Excels OnTime函数在AppDomain2 上运行dequeue方法,其中队列为空).
所以,我的问题是:有没有一种简单的方法来解决这个问题,可能会阻止我们的程序被加载两次或其他AppDomains?有没有人对如何解决这个问题有任何其他想法?
更新:
我们设法做的是在我们被调用时将我们的整个程序加载到其他插件的AppDomain中,现在我们在同一个地方(曾经是"通往其他域的网关"的地方)有一些奇怪的问题,比如上面提到的动作队列函数):
只要存在这种情况,SynchronizationContext.Current似乎重置为null,例如对于功能区上的单击处理程序的每次调用,SynchronizationContext.Current都设置为null.
我甚至尝试调试.Net代码,并且发生该框架会记住旧的同步上下文,并且在将所有内容都恢复到原来状态时,旧的同步上下文为空.
任何人都可以在这个问题上给予任何帮助,我真的开始失去它吗?
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |