使用InProc会话管理的并发ASP.NET请求

时间:2010-12-01 17:41:52

标签: c# asp.net concurrency comet long-polling

首先让我说出我想要完成的事情。如果对他们当前正在处理的文档进行了更改,我想通知我的Web应用程序的用户。我打算用长轮询来达到我想要的结果。 当我向长轮询页面发送请求(在迭代之间轮询和休眠大约250ms直到超时到期)并尝试同时在我的网站上加载另一个页面时,第二个请求排队直到第一个请求完成。有没有解决这个问题的方法?提前使用网络花园或任何形式的会话管理而不是InProc在这种情况下是不可接受的。感谢大家提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

这可能是会话同步导致请求按顺序处理。如果您可以将长轮询处理程序更改为不能识别会话,那么它应该可以解决问题。

您没有说明目标是什么,但如果它是.ashx或自定义IHttpHandler未实现IRequiresSessionState那么请求将不会附加到(或同步)会话。当然这也意味着长轮询请求将无法访问会话。