Можно ли использовать элемент управления Reportviewer в ASP.net Core

Я хочу использовать элемент управления Reporting Services ReportViewer в ASP.NET Core MVC проект.

Решение, предложенное в других ответах, позволяет добавить веб-форму в проект.

Однако так как ASP.NET Core не поддерживает веб-формы Я не могу добавить элемент управления в веб-форму.

Есть ли какой-нибудь другой способ, который мог бы помочь мне использовать элемент управления ReportViewer в базовом веб-приложении ASP.NET?

2 ответа

Нет, ты не можешь.
Microsoft только оценивает создание элемента управления.NET Core ReportViewer.
Это означает, что в настоящее время их нет (05/2017).
Также нет никакого элемента управления ReportViewer для ASP.NET MVC.

Есть только обертка alanjuden вокруг ReportExecution.asmx MS-ReportServer.
Но это не то же самое. Для этого по-прежнему требуется проверка подлинности Windows на сервере отчетов (вместе с группой "пользователь должен быть членом определенной группы объявлений") и сервер SSRS, работающий в Windows.

Если у вас в любом случае есть SSRS-ReportServer в Windows, вам гораздо лучше встроить SSRS ReportViewer.aspx в iframe. Возможно, вы захотите добавить формы аутентификации на ваш сервер отчетов. Кроме того, если он должен быть кроссплатформенным (= кросс-браузер = не IE), вам нужен SSRS >= 2016 (кросс-браузер недоступен в SSRS 2005/2008R1/2008R2/2012/2014).

Если вы работаете в Windows и не хотите (ваш клиент) устанавливать конкретную версию SSRS (что означает, что вы должны лицензировать MS-SQL-Server), вы можете создать неосновное веб-приложение.NET. на IIS (в том же домене) и поделитесь auth-cookie. Затем вы встраиваете этот ReportViewer из неосновного приложения IIS .NET через iframe (или ссылку с target=_blank) в свое веб-приложение.NET Core. Таким образом, вам не требуется лицензия SQL-Server и MS-SQL-Server, если вы, например, используете MySQL/PostgreSQL/Oracle.

Помимо ожидания, вы можете связать Apache Tomcat с BIRT в свое приложение и использовать Launch4J, чтобы распространить его вместе с JRE. Тогда вам просто нужно использовать Eclipse-BIRT ReportDesigner для создания отчетов BIRT (не-SSRS-отчетов).

Или вы можете встроить JasperReports с помощью JasperServer.
Это будет гораздо сложнее, чем BIRT.
Но я думаю, докер на помощь.

Jasper и BIRT имеют преимущество в том, что они также работают на Linux/Mac.
Однако это означает, что вам необходимо установить JRE на сервере или развернуть JRE вместе со своим приложением.

Преимущество Jasper перед BIRT заключается в том, что он быстрее и поддерживает вертикальный текст (не только в Интернете, а вертикальный текст не отображается как изображение).

Обычно всегда есть проблемы с версиями BIRT, загруженными с их веб-сайта, которые вначале не позволяют запустить BIRT. Будь то отсутствующая переменная среды JAVA_HOME, отсутствующая.jar-зависимость или неверная подпись в.jar-файле. Для получения информации о том, что будет на вашем компьютере в данный момент, обратитесь к лог-файлам TOMCAT, а затем найдите проблему в Google.
Приятной особенностью BIRT является то, что его сравнительно легко развернуть.

Другой вариант - jsReports, если вам нравится nodeJS.
Однако Bin-Deploy с этим без установки и сложностей будет еще сложнее (PhantomJS, Webkit, wkHtmlToPdf - например, с ARM-процессором на Raspberry PI).

Если у вас есть несколько свободных лет, вы также можете просто подождать, пока команда SSRS не перейдет на.NET Core, если это вообще произойдет.

Здесь программа просмотра отчетов работает как на ASP.NET MVC, так и на ASP.NET Core.

MVC.NET Core Report Viewer

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