我们使用ASP.NET 3.5(基于控件的方法),并且只需要一个http请求的存储空间。
具有来自会话ID的密钥的特定于线程的缓存将无法工作,因为线程应该被池化,因此我有机会从缓存中的某个先前请求获取数据,这在我的情况下是不可取的。我总是需要通过整个请求为每个请求提供全新的存储空间。
如何在ASP.NET 3.5中做到这一点?
答案 0 :(得分:35)
我们使用HttpContext.Current.Items集合来执行RequestScope缓存。效果很好。
答案 1 :(得分:5)
只是为了澄清ggonsalv所指的是什么
http://msdn.microsoft.com/en-us/library/system.web.httpcontext.items.aspx
HttpContext.Items["key"] = value;
更新:mvc特定版本
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext(v=VS.100).aspx
答案 2 :(得分:2)
如何使用Context集合。这允许在所有控件之间共享数据,但仅持续请求。
像这样使用它 context.Items(“base_url”)=“default.aspx”