好的,问题来了,我有一个严重依赖静态变量的 winform 应用程序,它是一个单例应用程序(一次只有一个进程实例)。
我现在需要创建一个包装应用程序,它可以创建 6 个这样的 winform 应用程序并在它们的主窗口之间切换。这样做的原因是这些应用程序有很多静态引用,必须根据它们连接的数据库进行更新。我们的用户现在需要连接到多个数据库,并且重新设计代码以消除静态问题不是一种选择。
所以我的问题是,我知道我可以在一个进程中创建新的应用程序域,但是这些应用程序域中的每一个是否都会获得一组新的静态引用?还是我实际上必须有单独的流程?如果是这样,我该如何构建一个新应用程序来创建旧应用程序的 6 个实例并将数据传递给每个实例(例如隐藏/显示、加载此对象、查询此数据库等...)对于一些简单的事情,这最终将成为一个扔掉的项目。
谢谢!