Как сохранить имя пользователя в глобальной переменной asp - PullRequest
1 голос
/ 31 марта 2020

У меня есть система онлайн-экзаменов. Я хочу сохранить имя пользователя в глобальной переменной или любую другую вещь, которая может его сохранить.
Мне нужно это имя пользователя для получения и установки данных в базе данных SQL.
Я использую глобальную переменную в классе, но она заменяется при каждом входе в систему.
Любой способ сохранить имя пользователя для каждого пользователя?

 public class GVar
{
    public static string user
    {
        get; set;
    }
    public static string mail
    {
        get;
        set;
    }
    public static string melli
    {
        get;
        set;
    }
    public static bool go
    {
        get;
        set;
    }

    public static System.Threading.Thread thread { get; set; }
}

Ответы [ 3 ]

2 голосов
/ 31 марта 2020

Используйте Application или Session в зависимости от обстоятельств. Переменные сессии являются глобальными, но ограничены текущим сеансом (для понимания назовите его пользователем). Переменные приложения являются общими для всех сеансов. Таким образом, следующие операторы могут использоваться для получения / установки переменных на уровне приложения

Application["user"] = "abc";     //sets the value at application level
var user = Application["user"];  //gets the value stored at application level

Аналогично, чтобы сделать его глобальным, но изолировать на уровне сеанса,

Session["user"] = "abc";     //sets the value at session level
var user = Session["user"];  //gets the value stored at session level

РЕДАКТИРОВАТЬ

Для простоты использования я предпочитаю реализовывать их как свойства, примерно так:

  1. Определить класс с пользовательскими свойствами getter / setter и добавить его в App_Code папку

    public static class GVar
    {
        public static string user
        {
            get { return Session["GVar_User"]; }
            set { Session["GVar_User"] = value; }
        }
    
        //...
    
    }
    
  2. Используйте ее в своем приложении, как вы обычно делаете с любым другим свойством.

        GVar.user = "abc";      //set value
        var usr = GVar.user;    //get value
    
2 голосов
/ 31 марта 2020

Вы можете сохранить его при входе в систему следующим образом:

Session["user"] = "gamesdl";

И затем вы можете получить значение во время выполнения следующим образом:

String username = (string)(Session["user"]);
0 голосов
/ 31 марта 2020

Вы можете использовать претензии. Претензии идентичны. И вы можете настроить затем в действии входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...