Dj@y Ответов: 0

Значения сеанса становятся нулевыми после того, как страница получает post-back ?


protected void Page_Load(object sender, EventArgs e)
     {
          if(!Page.IsPostBack)
{
	Session["EmployeeName"]="Djay";
}
}

   protected void ddlProcess_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
               if(Session["EmployeeName"] !=null)
                {
                     // some code here
                }
                else
               {
                 // every time Debugger comes here after page post back
                }
            }
            catch (Exception)
            {
                Response.Redirect("/SitePages/SessionExpire.aspx", false);
            }
        }

What I have tried:

1. I used windows authentication (can't change to form authentication it's required )
2. and set <sessionstate mode="InProc" customprovider="DefaultSessionProvider" timeout="60"> in web config still face issue.</sessionstate>

njammy

Код выглядит нормально, каково значение Session ["EmployeeName"], когда отладчик нажимает "else"?

Dj@y

он показывает null в quick watch

njammy

Просто проверка здравомыслия, создайте совершенно новое пустое решение и одну страницу, которая устанавливает и получает var сеанса. Ответьте здесь с результатами.

Dj@y

да, я создал одно другое приложение, использующее аутентификацию формы и устанавливающее значения сеанса при загрузке страницы внутри !ispostback, а после post back оно становится нулевым

njammy

Удалите customSessionProvider и используйте default, чтобы посмотреть, поможет ли это.

Убедитесь, что ваш раздел аутентификации Web.config выглядит аналогично:
< режим аутентификации= "формы" >
< forms loginUrl= " ~ / Login.aspx"
тайм-аут= " 2880"
cookieless= "UseCookies" />
< / аутентификация>

Dj@y

Я уже использую его

F-ES Sitecore

Это локальная машина разработчиков или опубликованный сайт? Если это опубликованный сайт на веб-хостинге, свяжитесь с веб-хостом в качестве некоторого ограничения\отключите сеанс независимо от того, что у вас есть в ваших конфигурациях. Если это локальная машина разработчика, проверьте, что файл cookie сеанса заполняется, а затем повторно отправляется со следующим запросом.

Dj@y

это на моей местной машине.

Sreekanth Mothukuru

Вы используете "панели обновления" или делаете Ajax-вызовы?

Dj@y

нет

Karthik_Mahalingam

выдает ли приложение какую-либо ошибку ? потому что после ошибки сеанс станет нулевым.

0 Ответов