为了账号安全,请及时绑定邮箱和手机立即绑定

同时请求两个ashx,为什么总是在最慢那个ashx完成时一起返回?

同时请求两个ashx,为什么总是在最慢那个ashx完成时一起返回?

浮云间 2019-05-20 17:44:51
ASP.NET项目,有两个类A和B均实现自IHttpHandler,A正常耗时要3秒,B耗时在毫秒级,在客户端分别用两个线程请求A和B,通过fiddler抓包观察,请求时间几乎同步,按理说AB应该互不干涉,谁先完成就返回,即B很快返回,A大概3秒后返回,但观察下来几乎都是3秒后一起返回,似乎B在等A,极少的情况下才会出现B先返回,但无论同时返回还是先后返回,A和B并不在同一线程执行(通过往响应头写线程id证实),这是为什么?如何让它们之间不等待?
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

我想我知道了,AB还同时实现了IRequiresSessionState,不实现该接口就不会阻塞。看来Session这东西对并发有影响,要慎用。
                            
查看完整回答
反对 回复 2019-05-20
  • 2 回答
  • 0 关注
  • 293 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信