最近在写Webform页面程序发现这样一个现象:在做导出功能时,由于导出数据的处理时间比较长,就在客户端加一个定时器通过ajax不间断查询导出进度。然后发现了一个情况,这个请求一直是阻塞的状态,直到导出事件处理完成之后。才去执行这个请求,也就是说如果响应时间长的请求还在进行中,短的请求却被挂起了。
百度了下,最终确定是Asp.Net Session造成的。原文:https://www.cnblogs.com/littlewrong/p/4783104.html
原理:Session实现了Reader/Writer的锁机制:
当页面对Session具有可写功能(即页面有<%@Page EnableSessionState=”True” %>标记),此时直到请求完成该页面的Session持有一个写锁定。
当页面对Session具有只读功能(即页面有<%@Page EnableSessionState=”ReadOnly” %>标记),此时知道请求完成该页面的Session持有一个读锁定。
读锁定将阻塞一个写锁定;读锁定不会阻塞读锁定;写锁定将阻塞所有的读写锁定。这就是为什么两个框架中的同一个页面都去写同一个Session时,其中一个要等待另一个(稍快的那个)完成后,才开始写。
“写锁定将阻塞所有的读写锁定”,也就是说页面在EnableSessionState=”True”的情况下没返回输出时,一直持着Session写操作,其他页面对Session的读操作必须等待,而asp.net的aspx页面默认是EnableSessionState=”True”,每个页面从请求开始至返回一直持着Session写操作,需验证页面必须读取Session值判断,这就是为什么需验证的页面请求被阻塞的原因。只要耗时页面(A页面)没有Session的写操作,也就不会阻塞其他页面的请求,于是修改A页面的EnableSessionState=”ReadOnly”,例如:<%@ Page Language=”C#” AutoEventWireup=”true”CodeFile=”TBS_Monitor_List.aspx.cs”EnableSessionState=”ReadOnly” Inherits=”TBS_Monitor_List” %> ,问题解决。
结论:也就是说,在无需对session进行写操作的页面,在Page指令加上EnableSessionState=”ReadOnly”属性,就不会造成Request阻塞的情况了。
ps图层合并为组快捷键(ps将图层组合)
ctrl+n 新建文档ctrl+shift+n 新建图层ctrl+o 打开文件(双击画布空白处也可以打开文件)ctrl+s 储存ctrl+shift+s 另存为ctrl+shift+alt+s 储存为(0)人阅读时间:2024-07-02mac磁盘工具的作用 mac 的磁盘工具
用户可能会觉得某些项目太重要而不能应用一些额外的安全级别。这可能包括需要保护需要发送给另一个用户的与工作相关的文件夹,对此的解决方案是使用磁盘工具从文件夹创建磁盘映像,该映像受密码保护和加密。创建图像(0)人阅读时间:2024-07-02bat文件注释一段命令
批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本(0)人阅读时间:2024-07-02铁竹堂,和平世界,为什么禁曲 和平世界铁竹堂mp3百度云
和平世界铁竹堂(铁竹堂 和平世界 为什么禁曲)有你pick的吗?《中国新说唱》69强选手公布后,我意识到有些选手大家不熟悉,而且不是每位选手的60秒演唱都会在正片里播出,所以我决定把69强选手介绍一下(0)人阅读时间:2024-07-02autoeventwireup出问题解决方法(auto故障怎么处理)
最近在写Webform页面程序发现这样一个现象:在做导出功能时,由于导出数据的处理时间比较长,就在客户端加一个定时器通过ajax不间断查询导出进度。然后发现了一个情况,这个请求一直是阻塞的状态,直到导..2024-07-02mac磁盘工具的作用 mac 的磁盘工具
用户可能会觉得某些项目太重要而不能应用一些额外的安全级别。这可能包括需要保护需要发送给另一个用户的与工作相关的文件夹,对此的解决方案是使用磁盘工具从文件夹创建磁盘映像,该映像受密码保护和加密。创建图像..2024-07-02大米敞开放还是密封放(夏天大米放在密封还是敞口)
最佳答案视情况而定。若是平时吃的大米,敞开放在干燥通风且阴凉的地方,存放时间比较长;若是用来储存的大米,则尽量密封保存,避免与空气接触,保存大米活性。大米的保质期没有明确时间,一般夏季为3个月,秋冬季为6个月。..2024-07-02乘风破浪的姐姐谁出道了 乘风破浪的姐姐哪几个出道了
《乘风破浪的姐姐》最后出道的姐姐有:宁静、万茜、孟佳、李斯丹妮、张雨绮、郁可唯和黄龄。这一期是姐姐们成团的日子,很多网友都表示..2024-07-02