今天弹出来,很奇怪。我们无法弄清楚什么改变了,但之前正在工作。ASP.Net会话在回发之间清除?
本质上,我们有一个名为“ProjectSession”的类,它包含静态属性和方法来处理会话。
主要的是ProjectSession.ProjectId
这只不过是HttpContext.Current.Session["ProjectID"]
的包装。当一个新项目被创建时,我们在这个属性中设置ID。如果用户已经有一个项目,我们在页面加载if (!IsPostBack)
上设置值。很简单。
但是,今天的中途,我们突然开始看到这个值从会话中消失。实际上,整个会话对象正在清除。在网站的第一页,如果用户有一个项目,我们设置该值。然后在第一次Button单击时,我们检查该值,它是空的。
我们今天所做的每一段代码似乎都没有影响到这一点,事实上,在我们的生产服务器上一切正常,只是不在我们的本地机器上。
如果有人有任何想法可能会导致此问题,请让我知道。
p.s. - >我们有双重,三重和四重检查。有0行代码表示ProjectSession =
,正好有2行代码表示ProjectSession.ProjectID =
,那些是我在这个问题中提到的2行。
您是否正在运行多个w3wp进程?如果是这样,你使用状态服务器还是数据库来保存会话? –
应用程序池可以回收。它有可能回收吗? – bryanmac
在我们的本地机器上,它只是使用默认的“Cassinni”服务器(我相信这就是它所称的,Visual Studio自动启动的服务器),所以我不认为这两种情况都适用 –