0

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

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

现在,这在带有 IIS 6 的服务器 2003 机器上已经运行了很多年。就在昨天,我们升级到带有 IIS 8 的全新 Server 2012 机器,我们现在遇到了应用程序对象的问题。

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

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

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

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

非常感谢!

标记

4

2 回答 2

0

好的,事实证明,这是一个配置问题,与网站甚至 IIS 无关。事实证明,我们的系统管理员在更改网站的 DNS 时,不小心将美国网站更改为英国 IP 地址,所以这两个网站毕竟是同一个应用程序。恐怕我什至从来没有想过要通过 ping 站点来检查 IP 地址,而且我们现在都觉得不早点发现它是相当愚蠢的。我只能把它归结为早上一个可笑的早开始来做改变,导致一群过度疲惫的开发人员在追逐。

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

于 2013-09-18T08:43:21.763 回答
0

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

于 2013-09-18T08:37:29.890 回答