最近遇到一个问题,我的一个页面有多个ajax请求,但是一个很快的请求却需要很长时间才返回,而且慢于一个耗时比较长的请求,我在考虑是不是有ajax异步并发有问题,但是查询了一些资料,ajax不存在这样的问题,那么就需要考虑后台接收的问题了,接收时不是并发处理的,而是排队进行处理,我的后台使用的ASP.Net MVC框架,是不是action接收数据时不是并发,我查询一些资料,发现如果在处理Session时,会有线程阻塞的问题,可以参考 https://www.cnblogs.com/kissdodog/archive/2013/02/08/2909292.html,但是我的这个页面根本没有对Session进行操作,但是我用户登陆的信息,会存储到Session中,会不会这样也会影响,后来在一些资料中有人这么描述,具体什么意思自己理解吧,我怕我自己理解都不对,给别人造成误解。

49516c80d6b30e466eff05b8d5f05c05.png

先写解决方案,然后再写我自己做的测试,如果controller不对Session进行修改,可以在Controller中增加特性 [SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)],这样Session是只读的了,不对独占,就不会阻塞了,但是如果该Controller有对Session进行操作,那么就不起作用了,自己还是根据实际需求进行设置吧。

先写到这里,把自己遇到的问题记录一下,以免以后再踩坑,而不知所措,同时也从侧面反映了,自己的技术还是有待提高,对MVC的原理深入了解。

原文:https://www.cnblogs.com/bjherry/p/10767709.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐