ASP.net会话请求排队
|
在我看来,ASP.net排队使用相同的会话ID的所有请求。假设你有3页。 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传递给它,如果执行任何操作,则不要紧,请将其称为Test.aspx。 加载的顺序是这样的。 Request Timeline "GET /" |*| "GET /Hang.aspx" |******************************************| "GET /Test.aspx" |**************************************| 我想我的问题是如何禁用此功能。我明白,让会话状态更加可预测是有用的,但是在我的情况下,长时间运行的报告页面加载会杀死用户的多任务能力。 解决方法这种行为是设计的;不允许并发访问会话状态。具有相同SessionID的请求将被专门锁定,以防止其状态的潜在损坏。要解决这个问题,您可以禁用页面指令中的会话状态。 <%@ Page EnableSessionState="false" %> 阅读“并发请求和会话状态”这里http://msdn.microsoft.com/en-us/library/ms178581.aspx了解更多。 设置EnableSessionState =“ReadOnly”将阻止该页面在SessionState上获得排他锁(但是页面本身不得不等待用户在加载之前完成其他非ReadOnly请求)。 (这是我对这个问题的回答ASP.net site: Long-loading page for user puts all other page loads for user on Hold的复制和粘贴) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 未知的服务器标签’ajaxToolkit:CalendarExten
- 有哪些工具可用于向ASP.NET项目添加本地化?
- asp.net-mvc-3 – 在MVC 3视图模型上使用Editable属性
- asp.net-mvc – ‘System.Web.Webpages.Html.Htmlhelper’不
- ASP.NET – 脚本和css压缩
- asp.net-core – ASP.NET Core 1.1中的multipart / form-da
- asp.net – 返回按钮刷新页面
- asp.net-mvc – 为什么不在ASP.NET MVC项目的Content文件夹
- asp.net-mvc – Paypal沙箱直接付款内部错误10001超时处理请
- asp.net – 通过Web请求从设备获取唯一的静态ID
- 从ASP.NET MVC返回null时,jQuery post JSON失败
- asp.net – UpdatePanel没有名为’TextBox’的公
- asp.net-mvc – 我可以从动作过滤器返回动作结果
- asp.net-mvc-3 – Razor reseverd words
- asp.net – 在Application_BeginRequest中设置会
- ASP.NET MVC HTML Helpers是否被高估?
- asp.net-mvc – 不要在JSON中序列化Entity Frame
- ASP.NET网址MAX_PATH限制
- asp.net-mvc-3 – ASP.Net MVC 3重定向未经授权的
- asp.net-mvc – MVC4上的服务堆栈
