【发布时间】:2025-12-11 02:05:01
【问题描述】:
我的 Web 应用程序公开了一些服务 (WCF),我需要加载一个 XML 文件并将其“存储”为对整个 AppDomain 可见的静态变量。需要从服务或页面查询和更新该变量。
问题是,我在 Application_Start (Global.asax.cs) 中加载了该变量,但是当服务请求到达时,该变量为空,需要“重新加载”,并且每个服务都会发生这种情况 (3),所以我最终得到了一个静态变量的 3 个实例。
如何确保我的所有应用程序都在同一个 AppDomain 上运行?我做错了什么?
Win7 RTM 机上的 VS2008 SP1
【问题讨论】:
-
我看不出有什么办法。 WCF 服务与 ASP.NET 应用程序不在同一个 AppDomain 中。
-
根据此页面上的图表可以...msdn.microsoft.com/en-us/library/aa702682.aspx
-
我不知道。您的应用程序在 IIS 中的结构是什么?一个应用程序?所有相同的应用程序池?也许添加一些调试代码,显示三个服务中的 AppDomain,看看它们是否在同一个 AppDomain 中。
-
好提示!这是一个简单的应用程序(与 wcf 服务和页面相同的应用程序),根据我在此站点上找到的脚本 learn.iis.net/page.aspx/164/…,它在同一个 AppDomain 上运行