【发布时间】:2013-02-21 04:39:17
【问题描述】:
在用户最初与 ASP.NET 建立会话后,对于每个后续 HTTP 请求,有多少 StateServer 会话对象被立即自动获取和反序列化?例如:
- 在收到请求并重新建立会话时是否已获取 所有 个会话对象,或者...
- 会话重新建立后,每次对 HttpContext.Session["..."] 的请求发出时,会话对象会被单独提取和反序列化吗?
答案对我如何使用会话有巨大影响。例如,如果我已将大量用户数据预取到会话中,并且 StateServer 会话在每个 HTTP 请求时完全反序列化,那么我将体验到明显的性能损失。但是,如果仅在我请求特定会话密钥时才反序列化预取的用户数据,那么对我来说就不用担心了。
更新 在标记了这个问题的答案后,我发现ASP.NET with AppFabric Server 1.1 has an option to have session restored on-demand rather than all-at-once。这由您的 web.config 中的useBlobMode 控制。
【问题讨论】:
标签: asp.net performance session