最近遇到一个问题,我的一个页面有多个ajax请求,但是一个很快的请求却需要很长时间才返回,而且慢于一个耗时比较长的请求,我在考虑是不是有ajax异步并发有问题,但是查询了一些资料,ajax不存在这样的问题,那么就需要考虑后台接收的问题了,接收时不是并发处理的,而是排队进行处理,我的后台使用的ASP.Net MVC框架,是不是action接收数据时不是并发,我查询一些资料,发现如果在处理Session时,会有线程阻塞的问题,可以参考 https://www.cnblogs.com/kissdodog/archive/2013/02/08/2909292.html,但是我的这个页面根本没有对Session进行操作,但是我用户登陆的信息,会存储到Session中,会不会这样也会影响,后来在一些资料中有人这么描述,具体什么意思自己理解吧,我怕我自己理解都不对,给别人造成误解。
先写解决方案,然后再写我自己做的测试,如果controller不对Session进行修改,可以在Controller中增加特性 [SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)],这样Session是只读的了,不对独占,就不会阻塞了,但是如果该Controller有对Session进行操作,那么就不起作用了,自己还是根据实际需求进行设置吧。
先写到这里,把自己遇到的问题记录一下,以免以后再踩坑,而不知所措,同时也从侧面反映了,自己的技术还是有待提高,对MVC的原理深入了解。