下一个ajax异步请求被挂起问题

时间:2023-03-09 08:21:19
下一个ajax异步请求被挂起问题

异步请求按理来说应该是会不受其它ajax请求影响的,但如果是服务端访问了Session就不能这么说了。

了解了asp.net的会话管理,那我们来看看今天要谈到的主题:

IReadOnlySessionState,IHttpSessionState,IRequiresSessionState

  IHttpSessionState 定义协定以实现自定义会话状态容器。
  IReadOnlySessionState 指定目标 HTTP 处理程序只需要具有对会话状态值的读访问权限。这是一个标记接口,没有任何方法。
  IRequiresSessionState 指定目标 HTTP 处理程序需要对会话状态值具有读写访问权。这是一个标记接口,没有任何方法。

对,没错。如果你ashx程序或者服务端程序继承接口IRequiresSessionState这就会造成了服务端sessionState不会被释放的问题。

1.Session 是读和写是有区分的

2..写Session以独占的方式进行

3..当读Session 遇到写Session时,读Session是要被阻塞的。

4..读和读之间是不会被阻塞的 。

所以当你只是读session时候,继承接口改成IReadOnlySessionState即可。这样就大功告成了。

该问题是有服务端会话冲突引起,其实该问题不是.net会出现该问题,像Java ,PHP这样的服务端语言也会有这样的问题,只是解决方式略有不同。