0
當我嘗試從控制器訪問HttpContext.Current時出現錯誤。 我想獲得會話以添加一些會話特定的數據,這給我一個問題:mvc 2中的HttpContext問題
var a = HttpContext.Current.Session;
錯誤,據稱是'System.Web.HttpContextBase'不包含'當前'的定義。
當我嘗試從控制器訪問HttpContext.Current時出現錯誤。 我想獲得會話以添加一些會話特定的數據,這給我一個問題:mvc 2中的HttpContext問題
var a = HttpContext.Current.Session;
錯誤,據稱是'System.Web.HttpContextBase'不包含'當前'的定義。
當我嘗試從控制器
你永遠不應該使用HttpContext.Current
訪問HttpContext.Current。
只需使用Session
屬性來訪問會話:
public ActionResult Index()
{
Session["foo"] = "bar";
...
}
原因你所得到的錯誤是因爲控制器類已經有一個名爲HttpContext屬性,因此當你寫HttpContext.Current
它的屬性,而不是HttpContext
類中的靜態Current
屬性。
謝謝!這解決了它。另一方面,如何從你編程和導入的類中整齊地檢索會話對象?我沒有控制器以外的會話對象,我認爲。 –
@Bruno Figares,你絕對不應該使用ASP.NET MVC標準類以外的會話來訪問會話(控制器,動作過濾器,幫助器......)。所以你的自定義類不會從會話中獲取數據。這是不好的做法。你把這些數據從控制器傳給他們...... –