Почему объекты исчезают из моей сессии в IIS7? - PullRequest
3 голосов
/ 12 января 2011

Я делаю серию звонков в свое веб-приложение (IIS7 в классическом режиме).Первые два вызова создают экземпляры объектов и помещают их в объект Session.

К тому времени, когда я выполняю третий вызов, в сеансе отсутствует объект.Я ожидаю, что в сеансе будет 2 моих ключа, но их всего 1.

Это похоже на создание нескольких сеансов.Стоит отметить, что это часто случается, это не повторяется на 100%, то есть иногда все работает нормально.

Объекты имеют размер, но не огромные (около 100 маленьких строк), поэтому вряд лиМаксимальный размер сессии.Я не кладу туда никаких других предметов.

Ответы [ 3 ]

2 голосов
/ 12 января 2011

Звучит так, будто вы используете необработанное исключение, о котором вы не знаете. Сессия уничтожается при таких исключениях.

Установите контрольные точки в global.asax для методов Application_OnError, Session_End и Session_Start, чтобы проверить их

1 голос
/ 12 января 2011

Хорошо, я решил (с помощью подсказки global.asax от citronas).

Как всегда, оказывается, что я утверждал в своем вопросе и комментариях вещи, которые были не так верны, как я предполагал.

Первые два вызова фактически не выполняются последовательно, но второй был сделан до того, как первый успел вернуться. Это привело к двум вызовам Session_Start (интересно с тем же идентификатором сеанса). Поэтому данные первого сеанса перезаписывались.

Изменение моего приложения на ожидание каждого звонка решило проблему.

Спасибо всем, кто ответил или прокомментировал.

0 голосов
/ 12 января 2011

Какой из них исчез, первый или последний добавленный?Похоже, ваше приложение было переработано после первого вызова, поэтому первое добавленное будет удалено.

...