ASP.NET MVC中的會話變量我正在編寫一個Web應用程序,允許用戶瀏覽網(wǎng)站內的多個網(wǎng)頁,提出某些請求。用戶輸入的所有信息都將存儲在我創(chuàng)建的對象中。問題是我需要從網(wǎng)站的任何部分訪問此對象,我真的不知道實現(xiàn)這一目標的最佳方法。我知道一個解決方案是使用會話變量,但我不知道如何在asp .net MVC中使用它們。我會在哪里聲明會話變量?還有其他方法嗎?
3 回答

汪汪一只貓
TA貢獻1898條經(jīng)驗 獲得超8個贊
我認為你會想到事情是否真的屬于會話狀態(tài)。這是我發(fā)現(xiàn)自己經(jīng)常做的事情,這是一個很好的強類型方法,但是在把事情放在會話上下文時你應該小心。不是所有東西都應該只是因為它屬于某個用戶。
在global.asax中掛鉤OnSessionStart事件
void OnSessionStart(...){ HttpContext.Current.Session.Add("__MySessionObject", new MySessionObject());}
從HttpContext.Current屬性!= null的代碼中的任何位置,您都可以檢索該對象。我用擴展方法做到這一點。
public static MySessionObject GetMySessionObject(this HttpContext current){ return current != null ? (MySessionObject)current.Session["__MySessionObject"] : null;}
這樣你就可以在代碼中
void OnLoad(...){ var sessionObj = HttpContext.Current.GetMySessionObject(); // do something with 'sessionObj'}
- 3 回答
- 0 關注
- 576 瀏覽
添加回答
舉報
0/150
提交
取消