Сеанс ASP.NET является новым для каждого запроса, если вы не записали что-либо - PullRequest
1 голос
/ 24 сентября 2010

Мне нужен уникальный идентификатор сессии, но каждый новый, если вы не напишите в нем что-то. Исправление выглядит следующим образом Session["stubkey"] = "fsdufhusd" в методе загрузки страницы. Это довольно странно для меня. Есть ли способ инициировать сеанс или, возможно, я что-то не так делаю с конфигами?

спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 24 сентября 2010

В документации SessionID рекомендуется использовать тот же способ, который вы используете:

При использовании состояния сеанса на основе файлов cookie ASP.NET не выделяет хранилище дляданные сеанса, пока не будет использован объект Session.В результате новый идентификатор сеанса генерируется для каждого запроса страницы, пока не будет получен доступ к объекту сеанса.Если вашему приложению требуется статический идентификатор сеанса для всего сеанса, вы можете либо реализовать метод Session_Start в файле приложения Global.asax и сохранить данные в объекте Session для исправления идентификатора сеанса, либо использовать код в другой части вашегоприложение для явного хранения данных в объекте Session.

0 голосов
/ 24 сентября 2010

Вам не нужно инициализировать сеанс на page_load.Вы можете инициализировать сеанс на Global.asax следующим образом

protected void Session_Start(Object sender, EventArgs e) 
{
    Session["init"] = 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...