我将用户详细信息存储在会话变量中。当某些I / O操作发生时,其他用户会话也会破坏。如果我在单服务器环境中运行相同的应用程序,则会话正常。
我也测试了这段代码 {meta name ='test'content ='Set-Cookie:ASPSESSIONID = 494351627; path = /'/}
会出现什么问题?
提前致谢。
答案 0 :(得分:1)
App Pool可能会重启。如果共享服务器有多个站点共享应用程序池,并且应用程序池设置为回收,如果它耗尽了太多内存,则每隔几分钟就会发生这种情况。
唯一的解决方法是: a)进入不同的托管环境 b)使用cookie来识别用户并在数据库中查找它们(例如,将加密的用户ID存储在cookie中并将任何相关数据存储在数据库中)
如果你在会话内存中有很多其他的东西你可以考虑实现一个数据库表只是为了存储会话状态(在经典的asp你必须自己滚动 - 在.net这是一个标准的配置选项)。 / p>
如果它是一个很大程度上依赖于会话变量的应用程序,那么如果可能的话你会想要选择A.