2014-01-13 4 views
0

В моем общем обработчике я пытаюсь получить некоторое значение из сеанса. Но иногда для одной сессии у меня разные значения.сеанс asp.net разные значения для одного ключа

public void ProcessRequest(HttpContext context) 
{ 
    ... 
    string someVar = context.Session["some_key"]; 
    ... 
} 

Сессия ["some_key"] значение инициализируется на веб-странице (один раз), а затем обработчике вызовов пользователя. И проблема в том, что после нескольких запросов postback request.Session ["some_key"] дает мне другое значение. Может ли быть причиной установки «Максимальных рабочих процессов» в пуле приложений?

+0

ли опыт этого при входе в качестве одного пользователя? Сеансы на каждого клиента, что означает, что сеанс доступен только для каждого клиента, который обращается к вашему веб-сайту, и каждый пользователь может иметь свой собственный сеанс. – RononDex

+0

Это также означает, что просмотр страницы в двух разных браузерах означает разные сеансы для каждого. Кроме того, вы должны указать, что ваш обработчик хочет использовать объект сеанса (используя 'IRequiresSessionState' или' IReadOnlySessionState'). – Luaan

+0

Это гостевой сеанс, тот же браузер (sessionId тот же, что и я его проверил). Обработчик реализует IRequiresSessionState. – l1ar

ответ

0

Проблема с вашим кодом заключается в том, что вы не сохраняете какое-либо значение в сеансе. Из-за этого ASP.NET генерирует новый сеанс с каждым новым запросом.

Найти дополнительную помощь здесь: http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.sessionid.aspx

Если приложение требует статического идентификатора сеанса для всего сеанса, вы можете реализовать метод session_start в файл и хранить данные global.asax приложения в Объект сеанса для исправления идентификатора сеанса, или вы можете использовать код в другой части приложения для явного хранения данных в объекте Session.

Добавление что-то вроде этого где-то в вашем коде должны это сделать:

context.Session["dummy"] = 0; 

Более того, попробуйте запустить поиск, прежде чем задавать вопросы, чтобы избежать duplicates:

+0

На самом деле я сказал, что «Session [" some_key "] значение инициализируется на веб-странице", так что это не проблема. – l1ar

Смежные вопросы