同一Session中的aspx页面的并发限制

  项目中客户端采用WebBrowser展示aspx页面,用户有可能打开带多个带WebBrowser的winform窗体。此时,如果其中一个的WebBrowser的aspx页面响应较长的话,其他窗体中的WebBrowser页面会出现等待现象。

  

  经研究后发现,如果是同一Session会出现上述情况,但不过不是同一Session的则不会出现。默认asp.net中,如果没有使用到Session的话,请求同一aspx页面,即使引起页面回发,Session也不是同一个的。一旦使用了Session,如在Session保存了数据,则Session为同一个。还有一种情况,也会产生同样的效果,就是在Global.asax中的Session_Start事件(默认添加Global.asax自动添加的),尽管事件就是一个空方法也是如此。所以不要简单的认为用户用浏览器访问站点中页面时,一直用的是同一个Session(只要不关闭浏览器)。

  至于为什么在同一个Session中的aspx页面的并发被限制,Session使用过程中加锁了。

 

参考:

asp.net真的是并行处理request的吗?

posted on 2013-11-30 20:28  齐世昌  阅读(932)  评论(0编辑  收藏  举报