Низкая производительность Microsoft ReportViewer при переносе в MVC (удаленные отчеты SSRS) - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь визуализировать отчеты SSRS с помощью удаленной обработки с сервера отчетов.

Я встраиваю MS ReportViewer в существующее приложение MVC.Поскольку этот компонент предназначен для более старой технологии WebForms, согласованное решение состоит в том, чтобы поместить компонент в веб-форму, а затем обернуть его внутри страницы MVC с помощью IFrame.Чтобы облегчить это, я использую один из различных инструментов, которые оборачивают это для меня.Я использую ReportViewerForMvc14 и пробовал разные версии ReportViewer, включая последнюю версию v15 - обе установлены через Nuget.Я использую .NET 4.6.2 и не могу понизить версию (я видел предложения понизить версию до 3.5, но это не для начала.

Производительность очень низкая, когда дело доходит до рендеринга ReportViewer иотобразить отчет.

Чтобы доказать, что есть проблема, я написал два совершенно новых решения, которые являются просто минимальным для представления одного и того же отчета с использованием одного и того же компонента MS ReportViewer. Одним из них является решение MVC5, использующееПодход обертки, другой - прямой проект WebForms. Очевидно, что, когда чистая версия Webforms будет отображать средство просмотра отчетов за 3 секунды, версия MVC сделает это за 16 секунд (тот же отчет, та же среда разработки, тот же ноутбук и т. д.).и т. д.).

После поиска решения я попробовал несколько предложений, которые либо не помогли изменить ситуацию, либо не могут быть использованы. Например, изменение конфигурацииAsyncRendering и пробуя предложенную настройку в web.config (не может использоваться в моем контексте - существующий вg app этого не допустит).

Кто-нибудь активно использует MS ReportViewer внутри приложения MVC с приемлемой производительностью, и если да, то как, черт возьми, вы сделали это для вас?

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

...