【autoeventwireup出问题解决方法 autoeventwireup出问题】
最近在写Webform页面程序发现这样一个现象:在做导出功能时,由于导出数据的处理时间比较长,就在客户端加一个定时器通过ajax不间断查询导出进度 。然后发现了一个情况,这个请求一直是阻塞的状态,直到导出事件处理完成之后 。才去执行这个请求,也就是说如果响应时间长的请求还在进行中,短的请求却被挂起了 。
百度了下,最终确定是Asp.Net Session造成的 。原文:https://www.cnblogs.com/littlewrong/p/4783104.html
原理:Session实现了Reader/Writer的锁机制:
当页面对Session具有可写功能(即页面有标记),此时直到请求完成该页面的Session持有一个写锁定 。
当页面对Session具有只读功能(即页面有标记),此时知道请求完成该页面的Session持有一个读锁定 。
读锁定将阻塞一个写锁定;读锁定不会阻塞读锁定;写锁定将阻塞所有的读写锁定 。这就是为什么两个框架中的同一个页面都去写同一个Session时,其中一个要等待另一个(稍快的那个)完成后,才开始写 。
“写锁定将阻塞所有的读写锁定”,也就是说页面在EnableSessio
推荐阅读
- 获取服务器失败怎么办 获取服务器失败解决方法介绍
- 门把手坏了开不了门怎么办 解决方法
- 公司不给交社保怎么办 如何解决公司不给交社保
- 学习通崩了怎么解决
- 360杀毒卸载不了如何解决?卸载不了的解决方法 360杀毒卸载方法简述
- 电脑散热器声音很大怎么办 如何解决电脑散热器声音很大
- vivoy3标准版储存空间越来越少怎么办 vivoy3储存空间不足怎么解决
- 英雄联盟黑屏怎么办 英雄联盟黑屏的解决办法
- 小腿肉松弛是什么原因 解决小腿肉松弛
- 一年级孩子理解能力差怎么办 告诉大家一个有效的解决方法