我熟悉ASP.NET中的Application和Session Key / Value对象存储。我正在寻找一个全局存储,我可以在发出请求时将值放入,该请求仅在请求期间有效,但业务层中的DLL也可以访问。我被告知有一个HttpRequest对象执行此操作但无法找到更多信息。
用例是单击网页上的一个按钮,导致POST到服务器,然后我会创建一个值,我希望在请求期间填充到内存中,直到我返回HTML给客户。
答案 0 :(得分:8)
您需要使用HttpContext.Current.Items:
HttpContext.Current.Items.Add("key", "value");
string val = HttpContext.Current.Items["key"] as string;
还有there are issues在线程上下文中存储对象和在asp.net应用程序中的CallContext。在请求期间维护对象的唯一安全选项似乎是HttpContext.Current.Items
答案 1 :(得分:3)
4GuysFromRolla关于使用HttpContext存储每个请求的项目有一个很好的article。
答案 2 :(得分:2)
您可以将商品添加到HttpContext.Current.Items
。
有关详细信息,我建议您阅读3 hot uses for HttpContext.Current.Items THEY Won't tell you about
一般来说,
HttpContext.Current.Items
没有得到那么热门的博客 按,但让我告诉你,我在这里 改变这一切。对于那些人 知道, System.Web.HttpContext.Current.Items 是一个甜蜜的键值对集合 你可以用它来传递物体 并通过所有组件 参与一个HTTP请求。
答案 3 :(得分:1)
我相信你正在寻找Page.Context属性,特别是其中的Items集合。