繁体   English   中英

.Net应用程序变量跨应用程序渗漏

[英].Net Application Variables bleeding across applications

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

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

现在,在带有IIS 6的Server 2003机器上,这种方法已经运行了好多年。就在昨天,我们升级到了带有IIS 8的崭新的Server 2012机器,现在应用程序对象出现了问题。

简而言之,现在在一个网站上设置了应用程序变量后,便同时在两个站点上都进行了设置,因此英国市场会看到美国的应用程序对象,反之亦然,这取决于最后设置的对象。

应用程序对象是根据市场代码从数据库中提取的,并且一切正常(至少在几年内代码没有更改),并且我编写了一些日志记录以确认正确的对象是为每个网站加载。

每个网站都有自己的应用程序池,所以我真的看不到这是怎么回事。 我已经在带有IIS 7.5的Server 2008上测试了站点,并且在那里表现良好,类似地,我运行带有IIS 8的Windows 8开发人员计算机,我认为与新的活动服务器的设置相同(应用程序池配置相同)以及所有内容),并且两个站点都在那里做正确的事情。

有人听说过这种问题吗?有人对我可以解决的问题有任何建议吗? 我认为甚至不可能在单独的应用程序之间共享应用程序对象,我的假设在那里吗?

非常感谢!

标记

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

好的,事实证明,这是一个配置问题,而不是网站甚至IIS。 实际上,事实证明,我们的系统管理员在更改网站的DNS时不小心将美国网站更改为英国IP地址,因此,两个网站毕竟是同一应用程序。 恐怕我什至从未对站点进行ping检查IP地址,我们现在都觉得很傻,因为没有更早发现它。 我只能把它放到一个可笑的清晨开始,以进行更改,从而导致一堆疲惫的开发人员忙得不可开交。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM