Laden...

RDLC - Rendering Service

Erstellt von M@TUK vor 7 Jahren Letzter Beitrag vor 7 Jahren 4.127 Views
M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 7 Jahren
RDLC - Rendering Service

Hi...

Ich möchte hier ein kleines Side-Projekt vorstellen.
Da es sich um eine interne Entwicklung handelt kann ich (noch) nicht fix sagen ob is es public machen darf, deswegen erstmal im Entwicklungs-Forum und nicht in Projekte.

Wir verwenden den Reportviewer und RDLC-Berichte für unsere PDF, Druck und Export-Aufgaben. Da wir gerne mit Asp.net core und Azure App Services arbeiten möchten und z.B. bei Azure App Services der Reportviewer nicht funktioniert (PDF-Erstellung) hab ich etwas experimentiert und ein RDLC-Rendering Service ist dabei rausgekommen.

Im Groben ein Reportviewer hinter einer API. Die API bekommt das RDLC-XML, Daten, Parameter, Settings und man erhält als Ergebnis den fertig generierten Report (PDF, Excel, Word, Tiff). Es ist damit egal ob wir in Azure hosten oder welche Technologie wir verwenden. Unsere PHP-Devs habens auch schon per PHP angesprochen. Es ist somit auch die Plattform egal (.net, PHP, Python, Javascript, Java,...) man muss "lediglich" ein RDLC-Dokument erstellen können.

Ich hab mal einen kleinen Test-Client online gestellt.
http://rdlcservice.azurewebsites.net/
Damit könnt ihr ein wenig rumprobieren.

Auch wens derzeit noch keinen Source-Code gibt würd ich mich über allgemeines Feedback zu diesem Service freuen.

lg

M
177 Beiträge seit 2009
vor 7 Jahren

Wow, das hört sich mega interessant an! Momentan einer von vielen Gründen warum ein aktuelles Projekt nach wie vor nicht mit .NETCore umgesetzt werden kann.

Ich habe deinem Link probiert, bekomme aber eine 500 Fehlermeldung, wenn ich einen Bericht erzeugen lasse.

Jedenfalls, ein sehr spannendes Thema. Da mir momentan nicht bekannt ist, dass es einen ReportViewer für .NETCore gibt, der in etwa das gleiche bietet wie der alt bekannte.

Um Reports auch in UWP anbieten zu können, könnte man als Workaround quasi deine Engine verwenden, eine PDF generieren und dann diese in einem PDF Control anzeigen lassen. Habe ich das so richtig verstanden M@TUK?

Die derzeitige alternative wäre, den Report im ReportSerivce von MSSQL generieren zu lassen.

M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 7 Jahren

Hi...

Rendering sollte jetzt funktionieren (Settings waren noch auf local gedreht...).

Den Reportviewer der SSRS gibt's ja momentan nur für Winforms und Webform. Es gibt von MS nicht mal eine richtige MVC-Version. Bedeutet, man braucht immer eine Infrastruktur und Technologie die diesen Reportviewer unterstütz. Und genau das hat mich gestört.

Ob man dieses Service dann von einer ASP.net MVC-App, UWP, WPF oder einer nativen IOS oder Andriod-App aus aufruft ist eigentlich egal. Also auch ob der Aufruf von einem Server oder Client kommt. Das Service erhält nur die Report-Definition, die Daten und liefert das Ergebnis zurück. Auch was man damit dann macht ist egal (per Mail versenden, im FS speichern, Anzeigen, Downloaden,...)

Server-Reports über MSSQL wäre natürlich eine Option aber was ist wenn man mit MongoDB oder DocumentDB arbeitet und keinen SQL-Server mit Reporting-Services zur Verfügung hat oder haben kann. Dann wird's schon schwieriger...

M
177 Beiträge seit 2009
vor 7 Jahren

Da Stimme ich dir zu. Es gibt auf jeden Fall Szenarien wo man das Rendering am Client haben will.

Wie sieht es mit dem Projekt aus? Wird der Code auf Github oder dergleichen veröffentlicht?