コード例 #1
0
ファイル: UserData.cs プロジェクト: lzbgt/scada-1
        /// <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);
        }
コード例 #2
0
        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();
            }
        }