2009-11-13 64 views
0

我熟悉ASP.NET中的應用程序和會話鍵/值對象存儲。我正在尋找一個全球性的商店,我可以在進行請求的時候給出一個值,這個請求只在請求期間有效,但是也可以在業務層的DLL中訪問。我被告知有一個HttpRequest對象可以做到這一點,但一直沒有找到關於它的更多信息。ASP.NET中C#中的當前請求全局變量

用例是單擊一個網頁上的按鈕導致POST到服務器,然後我會創建一個值,我想填入內存只是在請求的持續時間,直到我返回HTML到客戶端。

+0

您的業務層是否與ASP.NET一起運行? – 2009-11-13 06:05:28

+0

是的,它在proc中 – Guy 2009-11-13 17:49:35

回答

6

您需要使用HttpContext.Current.Items:

HttpContext.Current.Items.Add("key", "value"); 
string val = HttpContext.Current.Items["key"] as string; 

More info

而且there are issues與存儲在一個asp.net應用程序線程上下文和CallContext中的對象。在請求期間維護一個對象的唯一安全選項似乎是HttpContext.Current.Items

1

您可以將商品添加到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請求的所有組件。

2

4GuysFromRolla有一個不錯的article關於使用HttpContext存儲每個請求的項目。