我目前正面临一个问题,我似乎无法解释它。在我的C#解决方案中,我有三个项目A,B和C.A和B都参考项目C,它包含一个静态List容器。现在,当项目A添加到容器时,令人惊讶的是项目B无法在容器中找到内容。有什么建议为什么会这样?
答案 0 :(得分:2)
static
个项目仅在同一个AppDomain 中共享。如果A和B在不同的空间(两个不同的网站,控制台应用程序,WinForms等)中运行,它们将不会共享相同的内存空间。
如果您需要在两个不同的流程之间共享数据,则需要采用不同的方式来实现这一目标。一些选项是:
每个人都有开发时间/复杂性/可维护性等的优缺点。
如果它们是两个不同的网站,您可以将它们设置为使用相同的AppPool,它们可以共享静态变量(虽然我从未尝试过)。