0

我的 Web 应用程序公开了一些服务 (WCF),我需要加载一个 XML 文件并将其“存储”为对整个 AppDomain 可见的静态变量。需要从服务或页面查询和更新该变量。

问题是,我在 Application_Start (Global.asax.cs) 中加载了该变量,但是当服务请求到达时,该变量为空并且需要“重新加载”,并且每个服务都会发生这种情况 (3),所以我最终有 3 个静态变量实例。

如何确保我的所有应用程序都在同一个 AppDomain 上运行?我究竟做错了什么?

Win7 RTM盒子上的VS2008 SP1

4

1 回答 1

3

好的,经过一番研究,我找到了解决方案。我将在此处发布解决方案以及许多帮助我找到它的链接。

WCF 服务和 ASPX 页面在并行运行时(默认)在同一个 AppDomain 上运行,我的问题是 AppDomain 正在被回收,因为我的应用程序正在我的应用程序的根文件夹下创建一个文件夹。当我将该创建从应用程序本身移开时,AppDomain 将重新启动,因此我始终保留我的静态值。

这是我阅读并帮助我找到解决方案的有趣帖子的列表:

于 2009-08-19T14:01:44.393 回答