Сессия ASP.NET истекла или не может быть найдена -> Из-за изменения Session.SessionID (службы Reporting Services)

1.-Я использую службы отчетов и иногда получаю эту ошибку Сессия ASP.NET истекла или не может быть найдена при попытке загрузить отчет.

2.-Я понял, что получаю эту ошибку, когда свойство Session.SessionID изменяется, даже если пользователь остается тем же самым. Если не меняется, отчет загружается. Я имею в виду, что если я обновляю отчет несколько раз, всякий раз, когда Session.SessionID совпадает с последним, отчет загружается.

3. В документации Microsoft говорится:

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

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

Дело в том, что я не могу использовать состояние сеанса без файлов cookie, потому что мне нужны файлы cookie.

Что я мог сделать, чтобы избежать этой ошибки? Или что я могу сделать, чтобы Session.SessionID не изменялся при каждом запросе?

9
задан Brian Mains 21 February 2013 в 14:13
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: