我有一个包含布尔值的Session变量。它在我的开发机器和我的开发服务器上运行得很好。当我将代码移动到生产时,它不再有效。
如果我使用的是无cookie会话也没关系,因此它不能是超时问题或cookie问题。
它发生在所有现代浏览器上。
我正在使用Response.Redirect重载,其中endResponse参数设置为false。
该机器不在网络农场中。
会话存储是我所知的InProc,它不在SQL Server中。
会话变量至少保存一次布尔变量,因为我在设置变量和Response.Redirect之后将其打印在页面上的标签中。但之后它被设置回NULL,它在开发中不会这样做。
它的代码完全相同,但生产中的IIS设置可能不同,我只是不知道在哪里看。
答案 0 :(得分:2)
哎呀,这可能会变成一个问题的噩梦。
您是否拥有可以部署项目的完全独立且干净的计算机,并查看是否可以在另一个处于已知状态的IIS上复制该行为?
您是否有能力重新映像服务器?
检查服务器的applicationHost.config和machine.config上的设置,以查看会话是否设置为使用InProc或基于Sql的会话持久性。如果基于sql是数据库搞砸了?
假设会话是InProc,就像你期望的那样,IIS是否会不断重置?跟踪应用程序开始和结束事件的记录。
答案 1 :(得分:1)
您的应用程序是由iframe还是somethnig调用的?我有过这个问题,我找不到解决方案,我还在找一个 我解决了将应用程序集成到与在iframe中加载我们的应用程序的应用程序相同的服务器中的问题。
希望它对你有所帮助。