ASP.NET ReportViewer очень медленно работает в локальном режиме
Я использую.Net 4.5 и ReportViewer 11 в локальном режиме. Мои отчеты составляются очень медленно (10 минут). Я нашел в этом посте, что добавление <trust legacyCasModel="true" level="Full"/>
к web.config решит проблему, и это сделал. Время отображения отчета увеличилось с 10 минут до 10 секунд, но теперь мои динамические переменные в других частях системы не работают. Это ошибка:
Динамические операции могут выполняться только в однородном AppDomain.
Есть ли способ установить <trust legacyCasModel="true" level="Full"/>
или что-то с таким же эффектом только на одной странице?
4 ответа
Пожалуйста, используйте следующую ссылку для получения дополнительной информации
https://codeontime.com/blog/2014/08/improving-performance-of-reports-in
Добавлять:
<trust legacyCasModel="true" level="Full"/>
в разделе: config /system.web Webconfig. Это помогает повысить производительность отчета в 10 раз. Но влияет на динамические объекты в проектах MVC.
Последние в этом выпуске можно найти здесь https://connect.microsoft.com/VisualStudio/feedback/details/561679/reporting-services-using-parameter-for-dynamic-grouping-very-slow и похоже, что быть адресованным в SQL Server 2012.
Если вы не используете конкретные функции 4.5, откат до 3.5 является наиболее выполнимым вариантом. Поскольку параметр cas является частью файла web.config, этот параметр недоступен для каждой страницы.
Рассмотрите возможность создания одностраничного подузла для страницы отчета, где подузел представляет собой отдельное приложение с пулом приложений 3.5, возможно, стоит провести быструю проверку
Изменение.net Framework на 3.5 поможет вам загружать ваши отчеты за половину времени. Вы можете попробовать в вашем случае.
Может быть невозможно установить уровень доверия только для одной страницы, однако вы можете разделить страницу с помощью ReportViewer
управление новым веб-приложением и, следовательно, новым доменом приложения. Таким образом, изменения web.config влияют только на страницу просмотра отчетов.
Этот обходной путь также имеет некоторые другие преимущества, такие как:
- возможность масштабировать отчетный веб-сайт по-разному, так как он обычно потребляет много ресурсов
- возможность отключить состояние сеанса для основного веб-сайта по соображениям производительности и сохранять его включенным только в отчетах, поскольку ReportViewer требует состояния сеанса