在两个不同的项目之间共享列表容器的可能性
本文关键字:之间 项目 共享 可能性 列表 两个 | 更新日期: 2023-09-27 18:02:42
我目前正面临一个问题,我似乎无法解释它。在我的c#解决方案中,我有三个项目A,B和C。A和B都引用了包含静态List容器的项目C。现在,当项目A添加到容器时,项目B意外地找不到容器中的内容。有什么建议吗?
static
项仅在同一AppDomain内共享。如果A和B运行在不同的空间(两个不同的网站,控制台应用程序,WinForms,等等),它们将不会共享相同的内存空间。
如果你需要在两个不同的进程之间共享数据,你需要想出一个不同的方法来做到这一点。
- 使用数据库 用文件>
- 创建一个web服务,承载共享数据
- 创建一个承载数据的windows服务
在开发时间/复杂性/可维护性等方面,每个都有自己的优点/缺点。
如果它们是两个不同的网站,你可以设置它们使用相同的appool,它们可能共享静态变量(尽管我还没有尝试过)。
编辑:根据进一步的研究,两个web应用程序将有不同的appdomain,即使他们共享一个AppPool。(一个AppPool可以托管多个独立的appdomain)