Exemple #1
0
        /// <summary>
        /// Получить данные пользователя приложения
        /// </summary>
        /// <remarks>Для веб-приложения данные пользователя сохраняются в сессии</remarks>
        public static UserData GetUserData()
        {
            HttpContext httpContext = HttpContext.Current;

            WebUtils.CheckHttpContext(httpContext);
            HttpSessionState session  = httpContext.Session;
            UserData         userData = session["UserData"] as UserData;

            if (userData == null)
            {
                // обновление данных веб-приложения
                AppData.Refresh();

                // создание данных пользователя
                userData = new UserData();
                session.Add("UserData", userData);

                // получение IP-адреса и идентификатора сессии
                userData.IpAddress = httpContext.Request.UserHostAddress;
                userData.SessionID = session.SessionID;

                // обновление ссылок на объекты общих данных приложения
                userData.UpdateAppDataRefs();
            }

            return(userData);
        }