ASP.NET Reportviewer показывает отчеты, когда я использую состояние сеанса «InProc», но не делает этого, когда я использую «Сервер состояния»

#asp.net #reportviewer #session-state

#asp.net #reportviewer #состояние сеанса

Вопрос:

У меня есть мой asp.net служба состояния включена и настроила конфигурацию состояния сеанса, как показано ниже, но в моих отчетах постоянно говорится «ASP.NET истек срок действия сеанса» при попытке сгенерировать свои отчеты с помощью reportviewer (я использую VS2005):

 <sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="80"/>
  

Теперь он работает при использовании состояния сеанса процесса следующим образом:

 <sessionState mode="InProc" timeout="80"/>
  

Я хочу использовать состояние сеанса вне процесса сервера состояния, но срок действия моих отчетов всегда истекает. Есть идеи, почему? Спасибо.

Ответ №1:

Reportviewer все равно должен работать с использованием StateServer, как указано по этой ссылке. Чтобы использовать StateServer, «ASP.NET «Служба состояния» должна быть запущена.

Комментарии:

1. Привет, Хэлли, спасибо за твой ответ. Действительно, это должно работать, но это не так. Мой asp.net служба состояния тоже запущена.

2. Используете ли вы какой-либо объект сеанса? Если да, что вы добавляете в сеанс?

3. 15 переменных сеанса, из которых: 1 datatable и все остальные встроенные типы — string * 8, Int32 * 3, Boolean * 3.

4. @Zen: проверьте настройки олицетворения.

5. некоторые люди сталкиваются с такой же проблемой, проверьте это ( forums.asp.net/p/1238835/2671891.aspx ), это может вам помочь.