我有一个简单的ASP.NET MVC应用程序。当第一个操作方法运行时,它会在Session变量中存储一些数据。在结果视图中,我有一个jquery ajax调用,由一个按钮触发到另一个操作方法。
当我点击按钮时,在服务器端使用了不同的会话ID,它有点随机。在启动和单击按钮之间有时会出现一秒钟的差距,会话ID仍然会发生变化。这会在尝试检索第一个操作方法存储的数据时中断应用程序。
知道发生了什么事吗?这两个请求都是相同的URL。
非常感谢,
答案 0 :(得分:2)
这是设计使然,ASP.NET试图在为用户存储会话方面提高效率。请记住,除非您在会话中存储会话值更改的任何内容。
如果您想告诉ASP.NET您希望它跟踪用户会话,您可以执行以下两项操作之一:
//注意:如果您正在执行此操作,则无需向会话添加任何内容...
public void Session_Start(object sender,EventArgs e)
{
}
这种行为让我在过去很担心:)
答案 1 :(得分:0)