ainpippo Ответов: 1

Почему export excel reportviewer get error (excelrenderer) текущая позиция в потоке не может превышать длину потока".


Привет у меня есть asp.net приложение (Framework4.0), использующее отчет rdlc с Microsoft.ReportViewer.Версия WebForms=10.0.0.0.

приложение в производстве при попытке экспортировать отчет в excel, и только с определенными параметрами, показывает мне следующую ошибку: "(Excelrenderer) Текущее положение в потоке не может превышать длину потока".

Страницы, которые показывают, эта ошибка является "HTTP://(сайт)/зарезервировано.Элемент управления reportviewer.Сторон компании webcontrol.классов AXD?...."

Что я уже пробовал:

система состоит из следующих программных компонентов
Windows Server2008 R2(сборка 7601: пакет обновления 1) Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) Framework 4.0

мы воссоздали ту же самую среду в нашей лаборатории, но мы не можем повторить ошибку. В чем может быть проблема?

Sandeep Mewara

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

1 Ответов

Рейтинг:
2

OriginalGriff

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

Если ошибка происходит в среде разработки, то все просто: используйте отладчик и выясните, где именно в вашем коде возникает ошибка и какие данные она обрабатывает.
Но... если это происходит в дикой природе, вам придется вернуться к более старым методам: протоколирование того, что делает приложение (текстовый файл в порядке, если вы используете "открыть ... Писать... Закройте файл" logging methods file ".WriteLine" - в противном случае доступны базы данных, ведение журнала Windows и целая куча коммерческих и открытых систем ведения журнала). Затем, после аварии, вы изучаете журнал и (вероятно) добавляете больше журналов, чтобы сузить круг того, что происходит и где. Это в основном должно быть повторено несколько раз, пока вы не узнаете, как код попал на место аварии и какие данные он обрабатывал, когда он разбился.
Затем вы можете начать искать причину, дублируя те же самые обстоятельства в лаборатории.

Но без этой информации? Ты не собираешься исправлять это в спешке.

Извините, но мы не можем вам в этом помочь!