我的网络应用程序公开了一些服务(WCF),我需要加载一个XML文件并“存储”一个对整个AppDomain可见的静态变量。需要从服务或页面查询和更新该变量。
问题是,我在Application_Start(Global.asax.cs)中加载了该变量,但是当服务请求到达时,变量为空并且需要“重新加载”,并且每个服务都会发生这种情况(3),所以我最终得到了3个静态变量实例。
如何确保我的所有应用程序都在同一个AppDomain上运行?我做错了什么?
Win7 RTM框上的VS2008 SP1
答案 0 :(得分:3)
好的,经过一番研究后我找到了解决方案。我将在这里发布解决方案以及许多帮助我找到它的链接。
WCF服务和ASPX页面在并行运行时在同一个AppDomain上运行(默认),我的问题是AppDomain正在被回收,因为我的应用程序正在我的应用程序的根文件夹下创建一个文件夹。当我将该创建从应用程序本身移开时,AppDomain退出重启,因此我始终保持静态值。
这是我阅读的有趣帖子列表,帮助我找到了解决方案: