0
我正在與ASP.Net MVC4,我自定義我的登錄,這是好的,我想保存這個對象的用戶,我可以訪問不同的控制器和不同的地區。我試圖定義這個對象是「靜態」的,但我不能存取權限對象的值:我怎樣纔能有一個可以從不同的控制器訪問的對象?
if (Servicio.ValidarUsuario())
{
string Mensaje = "";
Models.AdmUsuario oAdmUsuario = new Models.AdmUsuario();
oAdmUsuario.Au_codusuario = login.UserName;
Servicio.RetornaEntidad<Models.AdmUsuario>(ref Mensaje, "admsis.adm_usuario", oAdmUsuario.getPk(), oAdmUsuario);
***Models.AdmUsuario.UserWeb = oAdmUsuario;***
FormsAuthentication.SetAuthCookie(login.UserName, false);
Session["Modulo"] = null;
Session["Menu"] = null;
return RedirectToAction("index", "raMainReclamo", new { area = "Reclamos" });
}
在這個模型中,我定義:
public static AdmUsuario UserWeb;
但我不能獲得價值。 你有什麼想法,我如何從不同區域的不同控制器訪問對象的值?
嗨佈雷特,我使用PostgreSQL 9.0數據庫,我們不使用實體框架。使用會話是一個好習慣?還是有另一種方法不使用會話或靜態變量? – raranibar
Raranibar ...你需要多長時間才能獲得這些信息?有很多方法可以讓請求之間的對象保持活動狀態,但如果這是你想要的長時間的事情,那麼我肯定會將它保存到數據庫中。 – BenjaminPaul
好的做法真的取決於你在做什麼。我會在會話中存儲一個對象嗎?不可以。靜態變量不是答案,因爲一旦您向客戶端發送響應,該值就會被清除。您需要將對象存儲在第一個Controller Action中的Postgres中,然後將其拉出。我將用一些僞代碼編輯我的答案。 –