6

我想在ASP.NET Core MVC項目中使用Reporting Services ReportViewer控件。可以在ASP.net Core中使用Reportviewer控件

其他answers中提出的解決方案是爲項目添加一個webform。

但是因爲ASP.NET Core不支持webforms我不能將控件添加到webform。

是否有任何其他解決方法可能可以幫助我在ASP.NET Core Web應用程序中使用ReportViewer控件?

回答

0

這是一個報告查看器在ASP.NET MVC和ASP.NET Core上的工作。

MVC .NET Core Report Viewer

+1

上述實現目前不支持本地.rdlc文件,只能與服務器託管的SSRS報告一起使用。 – ekhanna

+0

@ekhanna他們仍然不支持本地.rdlc文件? – k11k2

2

不,你不能。
微軟只是在評估創建.NET Core ReportViewer控件。
這意味着目前沒有任何(05/2017)。
ASP.NET MVC中也沒有任何ReportViewer「控件」。

只有alanjuden's wrapper各地MS-的ReportServer的ReportExecution.asmx。
但這不一樣。這仍然需要報表服務器上的Windows身份驗證(以及用戶必須成爲特定的廣告組)以及在Windows上運行的SSRS服務器。

如果你反正有Windows上的SSRS-的ReportServer,你多大的iframe嵌入SSRS ReportViewer.aspx的更好。您可能想要將表單驗證添加到您的報告服務器。此外,如果需要跨平臺(=跨瀏覽器=非IE),則需要SSRS> = 2016(跨瀏覽器在SSRS 2005/2008R1/2008R2/2012/2014中不可用)。

如果您使用的是Windows,不希望(你的客戶)必須安裝SSRS的特定版本(這意味着你必須授權一個MS-SQL服務器),你可以創建一個.NET非IIS上的核心Web應用程序(在同一個域上),並共享auth-cookie。然後,在.NET核心Web應用程序中,通過iframe(或與target = _blank鏈接)從IIS .NET非核心應用程序中嵌入ReportViewer。這樣你就不需要SQL-Server許可證,如果你使用MySQL/PostgreSQL/Oracle,則不需要MS-SQL-Server。

除了等待,你可以捆綁的Apache Tomcat與BIRT爲您的應用程序,並use Launch4J to redistribute it with the JRE。然後,您只需使用Eclipse-BIRT ReportDesigner創建BIRT報告(非SSRS報告)。

或者你可以用JasperServer嵌入JasperReports。
這比BIRT更難以bin-deploy。

Jasper和BIRT的優點是它們也可以在Linux/Mac上運行。
但是,這意味着您需要在服務器上安裝JRE,或者將JRE與應用程序一起bin-deploy。

Jasper與BIRT相比的優勢在於速度更快,並支持垂直文本(不僅僅在網頁中,垂直文本不會呈現爲圖像)。

通常有總是從他們的網站下載的BIRT版本,以防止在第一運行BIRT的問題。缺少JAVA_HOME環境變量,.jar文件中缺少.jar依賴項或無效簽名。有關您的計算機上的內容的信息,請參閱TOMCAT日誌文件,然後谷歌問題。
關於BIRT的好處是,它相對容易bin-deploy。

如果你喜歡nodeJS,另一種選擇是jsReports。
但是,Bin-Deploy如果沒有安裝和複雜性將更加困難(PhantomJS,Webkit,wkHtmlToPdf - 例如在Raspberry PI上使用ARM處理器)。

如果你有幾年的空閒時間,你也可以等到SSRS團隊移植到.NET Core--如果發生這種情況的話,那就是。

相關問題