Могу ли я создать HttpContext.Current.Session программно, если он пуст? - PullRequest
1 голос
/ 21 августа 2009

Мое веб-приложение ASP.NET отлично работает в Internet Explorer, но в Firefox и Chrome у меня проблема, когда определено HttpContext.Current, но HttpContext.Current.Session равно нулю. Ошибка, вероятно, вызвана тем, что к объекту Session обращаются в самом начале жизненного цикла страницы ASP.NET. Но поскольку доступ к веб-сайту в основном будет осуществляться с помощью Internet Explorer, я надеюсь найти быстрое и приемлемое решение. Возможно, что-то в этом роде:

if (HttpContext.Current.Session == null)
{
    // Create Session - but how?
}

Итак, вопрос таков: Можно ли программно создать объект Session в ASP.NET?

Редактировать: ошибка была явно связана с несинхронизированным файлом .designer. Странно, но теперь это работает.

1 Ответ

2 голосов
/ 21 августа 2009

Я думаю, что проблема, с которой вы столкнулись на самом деле, заключается в том, что IE - единственный браузер, принимающий файл cookie сеанса, используемый ASP.NET для сохранения идентификатора сеанса.

Либо убедитесь, что все ваши браузеры принимают файлы cookie, либо настройте приложение ASP.NET на использование сеансов без файлов cookie.

Однако ответ на ваш вопрос - нет, вы не можете создать сеанс самостоятельно. ASP.NET должен сделать это от вашего имени.

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