ASP.NET是否根据SessionID进行请求调度决策?

时间:2010-04-28 03:43:11

标签: asp.net session request scheduling

我知道正确实现的SessionStateStoreProvider会在请求期间维护对会话数据的独占锁定。但是,考虑到多个请求可以同时到达(例如通过IFRAME),除了一个之外的所有请求都能够取得进展。所有其他请求都会阻塞一点,并减少在此期间可用的工作线程数。

如果ASP.NET早期对请求的会话ID“偷看”,它可以避免同时运行在同一会话上的请求。对于不想放弃使用IFRAME的页面,这将提高负载下的吞吐量。

这看似合理,可能是真的。

1 个答案:

答案 0 :(得分:0)

根据第10章,改进Web服务性能,状态管理,MSFT p& p,2004年5月(link text):

“[...]如果将数据保持在会话状态,则一个客户端进行的Web服务调用由ASP.NET运行时序列化。来自同一客户端的两个并发请求在Web中的同一个线程上排队服务[...]“