我已經在Global.asax.cs
protected void Application_BeginRequest(object sender。EventArgs e)。
{
try
{
var cookiesDataUserinfo = HttpContext.Current.Request.Cookies["UserInfo"/span>]。
if (cookiesDataUserinfo != null)
{
Session["UserId"] = cookiesDataUserinfo["UserId"].ToString()。
}
}
catch (Exception ex)
{
string msg = ex.Message;
}
}
但我得到的錯誤是 "會話狀態在此背景下不可用"。 我還試圖在控制器的建構式中加載cookies的資料。但是在建構式中cookies是空的。 有沒有什么方法可以讓我在MVC專案中的任何視圖被渲染之前從cookie中設定會話值?
uj5u.com熱心網友回復:
我已經找到了我所尋找的解決方案。我需要在Global.asax.cs中使用Application_AcquireRequestState方法
protected void Application_AcquireRequestState(object sender, EventArgs e)。
{
try
{
var cookiesDataUserinfo = HttpContext.Current.Request.Cookies["UserInfo"/span>]。
if (cookiesDataUserinfo != null)
{
Session["UserId"] = cookiesDataUserinfo["UserId"].ToString()。
}
}
catch (Exception ex)
{
string msg = ex.Message;
}
}
對于每個請求,Application_AcquireRequestState方法被呼叫,如果有的話,我可以從Cookies中設定會話值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/319216.html
標籤:
上一篇:有什么辦法可以在AWSS3上托管一個靜態網站而不給公眾訪問權?
下一篇:當用戶改變鑰匙時保存模型出錯
