/// <summary> /// Получить данные пользователя приложения /// </summary> /// <remarks>Для веб-приложения данные пользователя сохраняются в сессии</remarks> public static UserData GetUserData() { HttpSessionState session = HttpContext.Current == null ? null : HttpContext.Current.Session; UserData userData = session == null ? null : session["UserData"] as UserData; if (userData == null) { AppData.InitAppData(); userData = new UserData(); if (session != null) { session.Add("UserData", userData); } // загрузка настроек представлений string errMsg; if (!userData.ViewSettings.LoadFromFile(AppData.ConfigDir + ViewSettings.DefFileName, out errMsg)) { AppData.Log.WriteAction(errMsg, Log.ActTypes.Exception); } } return(userData); }
protected void Page_Load(object sender, EventArgs e) { try { // настройка выходного потока Response.ClearContent(); Response.TrySkipIisCustomErrors = true; // перевод веб-страницы Localization.TranslatePage(this, "Scada.Web.WFrmError"); // определение сообщения об ошибке string errMsg = ""; Exception ex = Server.GetLastError(); if (ex == null) { string msg = Request["msg"]; if (!string.IsNullOrEmpty(msg)) { errMsg = msg; } } else { if (ex.InnerException != null) { ex = ex.InnerException; } errMsg = ex.Message; } if (errMsg == "") { errMsg = lblMessage.Text; } else { errMsg = lblMessage.Text + ": " + errMsg; lblMessage.Text = ScadaUtils.HtmlEncodeWithBreak(errMsg); // вывод на форму } // вывод сообщения в журнал приложения string logMsg = errMsg + (Localization.UseRussian ? "\nСтраница: " : "\nPage: ") + Request.Url.AbsoluteUri; if (Context.Session == null) { AppData.InitAppData(); } else { UserData userData = UserData.GetUserData(); if (userData != null) { logMsg += (Localization.UseRussian ? "\nПользователь: " : "\nUser: ") + userData.UserLogin; } } AppData.Log.WriteAction(logMsg, Log.ActTypes.Exception); } finally { Server.ClearError(); } }