相关疑难解决方法(0)

ASP.net会话请求排队

在我看来,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)

我想我的问题是如何禁用此功能.我知道让会话状态更可预测是有用的,但在我的情况下,长时间运行的报告页面加载会破坏用户的多任务处理能力.

asp.net session queuing blocking

26
推荐指数
1
解决办法
6685
查看次数

标签 统计

asp.net ×1

blocking ×1

queuing ×1

session ×1