.Net 应用程序变量跨应用程序流失

本文关键字:应用程序 流失 变量 Net | 更新日期: 2023-09-27 18:31:57

我有几个网站具有共享代码库,因为它们本质上是相同的网站,除了一个用于英国市场,另一个用于美国市场。除了共享代码库外,他们还与非常基本的CMS共享数据库,以便每个网站都可以有一些不同的内容。

在站点上,我们有一个管理页面,可用于为每个网站设置一些HttpContext.Current.Application变量,这些变量不会经常更改,但我们可能希望立即更改而无需更新配置文件等。

现在,这在带有IIS 2003的服务器2003盒子上已经工作了好几年了。就在昨天,我们升级到带有IIS 8的闪亮的新Server 2012框,现在应用程序对象出现问题。

长话短说,现在当一个应用程序变量在一个网站上设置时,它会在两个网站上设置,因此英国市场看到美国的应用程序对象,反之亦然,这取决于最后设置哪个。

应用程序对象是从基于市场代码的数据库中提取的,这一切都运行良好(代码至少在几年内没有改变),我已经编写了一些日志记录来确认为每个网站加载了正确的对象。

每个网站都有自己的应用程序池,所以我真的看不出这是怎么回事。我已经使用 IIS 2008 在 Server 7.5 上测试了这些站点,它们在那里表现良好,同样,我使用 IIS 8 运行 Windows 8 开发计算机,我认为其设置与新的实时服务器相同(应用程序池配置相同,所有内容都相同),两个站点在那里执行正确的操作。

以前有没有人听说过这种问题,有没有人对我可以研究的事情有任何建议来解决这个问题?我认为甚至不可能在单独的应用程序之间共享应用程序对象,我的假设是错误的吗?

非常感谢!

马克

.Net 应用程序变量跨应用程序流失

这听起来像是一个配置问题,你确定这些站点有不同的市场代码吗?看起来查询返回应用程序对象的wrong值。

好的,事实证明,这是一个配置问题,而不是网站甚至 IIS。事实上,事实证明,我们的系统管理员在更改网站的DNS时,不小心将美国网站更改为英国IP地址,因此两个站点毕竟是同一个应用程序。恐怕我什至从未想过要ping网站以检查IP地址,我们现在都为没有早点发现它而感到愚蠢。我只能把它归结为早上开始一个可笑的早起来重新进行更改,导致一群过度疲惫的开发人员在野鹅追逐中。

不过,如果其他人有类似的问题,也许这会对他们有所帮助。