переменная сеанса - PullRequest
       4

переменная сеанса

0 голосов
/ 26 июля 2011

Я определил свою переменную сеанса в моем Global.asax, называемом user следующим образом

    protected void Session_Start(object sender, EventArgs e)
    {
        Session["idMap"] = "";
        Session["user"] = "";
    }

Также у меня есть asp:Login, где я устанавливаю значение переменной сеанса в случаеloggedIn

    protected void lgnMapZone_LoggedIn(object sender, EventArgs e)
    {
        Session.Abandon();
        Session["user"] = lgnMapZone.UserName;
    }

Моя проблема в том, что когда пользователи проходят аутентификацию, вызывается void session_start и удаляется моя переменная, как я могу решить эту проблему?

Ответы [ 3 ]

3 голосов
/ 26 июля 2011

Session.Abandon() уничтожает сеанс, и запускается событие Session_OnEnd. Вы должны вызывать этот метод, когда пользователь выходит из системы, а не входит в систему.

Вероятно, вам следует вызвать Session.Clear(), который просто удаляет все значения (содержимое) из объекта сеанса при входе в систему.

Это решит проблему, которая возникла у вас сейчас.

0 голосов
/ 26 июля 2011

Легко:

внутри Session_Start:

if (Session["user"] != "")
    // Do something else
else
    // Set Session["user"] = "", etc
0 голосов
/ 26 июля 2011

Вы можете проверить, установлена ​​ли переменная или нет, прежде чем устанавливать ее снова в Session_Start.

...