在我看来,ASP.net排队使用相同会话ID的所有请求.假设你有3页.
Default.aspx的
protected void Page_Load(object sender, EventArgs e)
{
Session["asdf"] = "LOLZ";
}
Run Code Online (Sandbox Code Playgroud)
如果不存在,点击此页面显然会创建一个新会话.
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=ibjphuv0aiafqi453tyze345; path=/; HttpOnly
Run Code Online (Sandbox Code Playgroud)
然后你点击Hang.aspx
protected void Page_Load(object sender, EventArgs e)
{
Thread.Sleep(10000);
}
Run Code Online (Sandbox Code Playgroud)
在你点击任何其他页面后会立即传递此会话ID,无论它是否有任何作用,我们称之为Test.aspx.
加载的顺序是这样的.
Request Timeline
"GET /" |*|
"GET /Hang.aspx" |******************************************|
"GET /Test.aspx" |**************************************|
Run Code Online (Sandbox Code Playgroud)
我想我的问题是如何禁用此功能.我知道让会话状态更可预测是有用的,但在我的情况下,长时间运行的报告页面加载会破坏用户的多任务处理能力.