На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Session (часть 2) , asp.net
    Приветствую Всех!
    У меня есть форма логина.
    При нажатии на кнопку вход, проверяется с базой логин и пароль.
    Если все хорошо заводиться сессия, а страница конфигурируется под юзвера и текст на кнопке превращается в выход.
    Нажимая на выход все сбрасывается в уровень гостя.
    Вот код обработчика нажатия:
    ExpandedWrap disabled
      void linkbtnInput_Click(object sender, EventArgs e)
          {
              if (Session[sSessionLogin] == null)
              {
                  if (textboxLogin.Text != "логин")
                  {
                      if (textboxPassword.Text != "")
                      {
                          Session.Add(sSessionLogin, textboxLogin.Text);
                      }
                  }
              }
              else
              {
                  Session.Clear();
              }
              Response.Redirect("Default.aspx");
          }


    Но блин другие грабли с этой сессией.
    Предложенное выше решение выручает, если все происходит в пределах одной страницы.
    Но если страниц несколько, то выход на одной странице не влечет за собой выход на другой.
    Получается так что для текущей страницы сессия очищена, а для другой нет.
    Что не так?

    Как вообще с Session работать на многостраничном сайте?
    Сообщение отредактировано: IEZ -
      Методами научного тыка выяснил, что переход состраницы на страницу из флеш меню и вносит свой косяк.
      Но не могу понять почему так происходит.
      К кнопкам привязан Action:
      ExpandedWrap disabled
        on (release)
        {
           getURL("Default.aspx","_self");
        }

      Даже накидал проектик под vs 2005, в котором две менюхи ссылочная обычная и флеш.
      Первая работает отлично вторая косячит.
      Цепляю пример, может кто сможет помочь.

      Порядок действий для меню из ссылок.
      1. Запустить Default.aspx
      2. Нажать кнопку Вход (в SessionId появиться "пук" - сессия создана,
      кнопка изменит название на "Выход".
      3. Гуляешь по ссылкам, будет везде "пук".
      4. На любой из страниц нажми кнопку "Выход" ("пук" исчезнет -сессия
      очищена).
      5. Гуляешь по ссылкам страниц "пук" нет.
      Все работает отлично.

      А вот подобно через флеш меню не проходит.
      "пук" исчезает на одной странице и если перейти по флеш меню на
      другую там "пук" есть.

      Спасибо.
      Сообщение отредактировано: IEZ -

      Прикреплённый файлПрикреплённый файлProba.zip (33.53 Кбайт, скачиваний: 67)
        У меня внутри файл Proba без расширения 34 КБ. Это что?
          Цитата PMAXIM @
          Proba

          У меня нет его. Удалие его.
          Сообщение отредактировано: IEZ -
            Если я его удалю то архив пустой будет.
              Вот по новой архивнул.
              Прикреплённый файлПрикреплённый файлProba.zip (31.48 Кбайт, скачиваний: 73)
                Цитата IEZ @
                Порядок действий для меню из ссылок.
                1. Запустить Default.aspx
                2. Нажать кнопку Вход (в SessionId появиться "пук" - сессия создана,
                кнопка изменит название на "Выход".
                3. Гуляешь по ссылкам, будет везде "пук".
                4. На любой из страниц нажми кнопку "Выход" ("пук" исчезнет -сессия
                очищена).
                5. Гуляешь по ссылкам страниц "пук" нет.
                Все работает отлично.

                А вот подобно через флеш меню не проходит.
                "пук" исчезает на одной странице и если перейти по флеш меню на
                другую там "пук" есть.


                Скачал запустил. У меня через флеш меню все нормально. Ищи проблему в другом
                  Цитата PMAXIM @
                  У меня через флеш меню все нормально.

                  Т.е ты работаешь через флеш меню, зайдя (к примеру) на страницу №2 через меню "новости" и нажав кнопку "вход"
                  у тебя сессия на обоих страницах, при переходах по ним.
                  Но вот если ты при запущенной сессии, налюбой странице, нажмешь кнопку "выход", то на текущей странице сессия закроется,
                  но при переходе на другую страницу она по прежднему будет запущена. Вот в этом проблема.

                  Цитата PMAXIM @
                  Ищи проблему в другом

                  Я на нескольких компах пробовал, одно и тоже.
                  Не может же быть, что на нескольких компах какая-то бадяга. :(
                    Цитата PMAXIM @
                    Ищи проблему в другом

                    Вот у тебя работает. Может у тебя какие настройки ты делал?
                      Настройки сервера? Все по умолчанию я даже не заходил туда.
                        Цитата PMAXIM @
                        Настройки сервера? Все по умолчанию я даже не заходил туда.

                        Тогда в чем же дело? Ты точно через флеш меню логинился и гулял по страница, а потом выходил из логина и на всех страницах, через флеш меню, сессия закрыта.
                          Именно так. У тебя там с кешем ничего не может быть? Может просто страница так отображается
                            Не знаю, но есть такие штуки.
                            Прикреплённый файлПрикреплённый файл123.JPG (12.88 Кбайт, скачиваний: 211)
                              PMAXIM
                              Ну вот переделал проектик исходя из выше указанных статей.
                              И вышло что код на каждой странице не более 10 строк.
                              Но тем не менее все также не работает.
                              Прикреплённый файлПрикреплённый файлProba.zip (29.69 Кбайт, скачиваний: 71)
                                И здесь все правильно. Я с любой страницы делаю вход: Authenticated=yes на любой странице. Делаю выход: Authenticated = no на любой странице.
                                Приложение всегда знает авторизирован я или нет
                                Проблема не в коде - код хрестоматийный.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0480 ]   [ 16 queries used ]   [ Generated: 20.05.24, 13:06 GMT ]