在我看来,ASP.net排队使用相同会话ID的所有请求。假设你有3页。ASP.net会话请求排队
Default.aspx的
protected void Page_Load(object sender, EventArgs e)
{
Session["asdf"] = "LOLZ";
}
达不到这个页面,如果不存在显然会创建一个新的会话。
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=ibjphuv0aiafqi453tyze345; path=/; HttpOnly
然后你打Hang.aspx
protected void Page_Load(object sender, EventArgs e)
{
Thread.Sleep(10000);
}
而且马上你打任何其他页面,该会话ID将被传递给,如果它没有做任何事情没有关系后,让我们把它测试的.aspx。
加载顺序如此。
Request Timeline
"GET /" |*|
"GET /Hang.aspx" |******************************************|
"GET /Test.aspx" |**************************************|
我想我的问题是如何禁用此功能。我知道让会话状态更具可预测性是很有用的,但在我的情况下,长时间运行的报告页面负载正在阻止用户执行多任务的能力。
你怎么测试呢? Visual Studio中的IIS或Cassini开发服务器? – Kev 2010-11-30 21:43:14
Windows Server 2008,7 Professional和IIS 2010 Dev Server上的IIS。 – Novikov 2010-11-30 21:43:57