我有几个具有共享代码库的网站,因为它们本质上是同一个网站,除了一个用于英国市场,另一个用于美国市场。除了共享代码库外,他们还与一个非常基本的 CMS 共享一个数据库,这样每个网站都可以有一些不同的内容。
在网站上,我们有一个管理页面,可用于为每个网站设置一些 HttpContext.Current.Application 变量,这些变量不会经常更改,但我们可能希望随时更改而无需更新配置文件等
现在,这在带有 IIS 6 的服务器 2003 机器上已经运行了很多年。就在昨天,我们升级到带有 IIS 8 的全新 Server 2012 机器,我们现在遇到了应用程序对象的问题。
长话短说,现在当在一个网站上设置应用程序变量时,它会在两个网站上设置,因此英国市场会看到美国应用程序对象,反之亦然,具体取决于最后设置的对象。
应用程序对象是根据市场代码从数据库中提取的,一切正常(代码至少在几年内没有改变),我已经编写了一些日志来确认正确的对象是正在为每个网站加载。
每个网站都有自己的应用程序池,所以我真的看不出这是怎么回事。我已经使用 IIS 7.5 测试了 Server 2008 上的站点,它们在那里表现良好,同样,我使用 IIS 8 运行 Windows 8 开发机器,我认为与新的实时服务器的设置相同(应用程序池配置相同和一切),两个网站都在那里做正确的事情。
以前有没有人听说过这种问题,有没有人对我可以解决的问题有任何建议?我认为甚至不可能在不同的应用程序之间共享应用程序对象,我的假设是错误的吗?
非常感谢!
标记