C# .Net应用程序变量在应用程序之间溢出
我有几个网站有一个共享的代码库,因为它们基本上是同一个网站,除了一个是英国市场,另一个是美国市场。除了共享一个代码库,他们还与一个非常基本的CMS共享一个数据库,这样每个网站都可以有一些不同的内容 在这些网站上,我们有一个管理页面,可用于为每个网站设置一些HttpContext.Current.Application变量,这些变量不会经常更改,但我们可能希望在不更新配置文件的情况下随时更改 多年来,它一直在使用IIS6的Server2003机箱上运行良好。就在昨天,我们用IIS 8升级到了一个全新的Server 2012 box,现在应用程序对象出现了问题 长话短说,现在当一个应用程序变量在一个网站上设置时,它会在两个网站上设置,因此英国市场会看到美国的应用程序对象,反之亦然,这取决于最后设置的是哪一个 应用程序对象是根据市场代码从数据库中提取的,这一切都很正常(代码至少有几年没有改变),我已经写了一些日志来确认每个网站都加载了正确的对象 每个网站都有自己的应用程序池,所以我真的看不出这是怎么回事。我用IIS 7.5测试了服务器2008上的站点,它们在那里表现良好。同样,我用IIS 8运行Windows 8开发计算机,我认为它的设置与新的实时服务器相同(应用程序池配置相同,所有配置都相同),两个站点在那里都做了正确的事情 以前有没有人听说过这类问题,有没有人对我可以研究解决这类问题的方法有什么建议?我认为甚至不可能在不同的应用程序之间共享应用程序对象,我的假设是错误的吗 非常感谢C# .Net应用程序变量在应用程序之间溢出,c#,asp.net,iis,windows-server-2012,C#,Asp.net,Iis,Windows Server 2012,我有几个网站有一个共享的代码库,因为它们基本上是同一个网站,除了一个是英国市场,另一个是美国市场。除了共享一个代码库,他们还与一个非常基本的CMS共享一个数据库,这样每个网站都可以有一些不同的内容 在这些网站上,我们有一个管理页面,可用于为每个网站设置一些HttpContext.Current.Application变量,这些变量不会经常更改,但我们可能希望在不更新配置文件的情况下随时更改 多年来,它一直在使用IIS6的Server2003机箱上运行良好。就在昨天,我们用IIS 8升级到了一个全
标记这听起来像是一个配置问题,您确定这些站点有不同的市场代码吗?看起来查询为应用程序对象返回了错误的值。好的,结果是,这是一个配置问题,而不是网站甚至IIS的问题。事实证明,我们的系统管理员在更改网站的DNS时,意外地将美国网站更改为英国IP地址,因此这两个网站毕竟是同一个应用程序。我担心我从来没有想过通过ping网站来检查IP地址,我们现在都觉得没有早点发现这一点很愚蠢。我只能把它归结为一个可笑的清晨开始做改变,导致一群过度疲劳的开发人员在白鹅追逐
不过,如果其他人也有类似的问题,也许这会对他们有所帮助。说清楚,这是关于
应用程序[]
的简单使用,而不是关于一些缓存或第三方库?哪个框架版本?是的,你是对的,我说的是应用程序[]的使用,它是在.Net 3.5中,这正是我所想的,因此我设置了日志来再次检查它。原来这是一场白费力气的追逐,看我的回答:-)