9

假设有一个处理每个请求的 HttpHandler,并且假设每个 HttpHandler 为每个请求计算一个中间结果,并可能希望将其传递给页面处理程序,例如通过 Server.Transfer 或通过 HttpContext.Items 集合的 Server.Execute

当每个请求到达相同的 .aspx 页面时,每个请求是否会有一个单独的 HttpContext.Items["sameKey"] 副本?

我的担忧源于 HttpContext.Current 本身就是一个静态属性

4

2 回答 2

9

HttpContext封装有关单个 HTTP 请求的所有 HTTP 特定信息。

因此,每个请求 HttpContext.Items["sameKey"] 将是不同的副本。

于 2013-06-23T14:15:21.863 回答
2

HttpContext.Items 是无状态的,请求之间“共享”的唯一方法是 Session 或更高级别的状态(数据库)

于 2013-06-23T14:32:54.037 回答