2016-03-23 9 views
4

Ich arbeite an einem Projekt, wo ich viel speichern werde (150) RDLC Berichte, die ich bereitstellen muss. Diese Dateien sind im Format .rdlc. Könnte eine Anzahl dieser großen Dateien ein Problem für die Größe der bereitgestellten Anwendung sein, könnte es Probleme hinsichtlich der Kompilierungszeit geben?RDLC-Dateien bereitstellen und Größe

+0

150 Berichte mit dem gleichen Layout oder 150 völlig verschiedene Berichte? Und Sie speichern sie als was? Sie haben die Daten in Ihrer Datenbank und können sie jederzeit zu Berichten bereitstellen. Sie können die Berichte auch als PDF/Word/Excel exportieren ... – Oceans

+0

Wie ich zu meiner Frage hinzugefügt habe, sind alle meine Berichte in .rdlc Ich frage mich, ob viele dieser Dateien ein Problem sein könnten. Was andere Programmierer in der gleichen Situation tun? – SilentRage47

Antwort

1

Die Anzahl der Dateien per se ist kein Problem. Die Größe einer RDLC-Datei hängt von der Komplexität des Berichts ab (hauptsächlich der Anzahl der angezeigten Elemente und der Anzahl der Felder im Datensatz), da es sich lediglich um eine XML-Datei handelt.

Die Kompilierzeit ist nicht Teil der Gleichung. RDLC-Dateien werden nicht kompiliert, wenn Sie die Site erstellen. Sie sind im Wesentlichen Konfigurationsdateien für das ReportViewer-Steuerelement, sodass es weiß, wie der Bericht gerendert wird. In der Tat können Sie eine RDLC-Datei in einer kompilierten, implementierten Website ohne Neukompilierung ersetzen (wenn nur der RDLC der einzige ist, der sich geändert hat; ich habe das getan, um Spalten zu einer Berichtstabelle hinzuzufügen, in der die Spalte bereits existiert DataSet, aber wir haben vergessen, es in die Tabelle zur Anzeige zu bringen). Darüber hinaus können Sie sogar RDLC-Dateien im laufenden Betrieb generieren. Check out: http://www.codeproject.com/Articles/705248/Generating-RDLC-Dynamically-for-the-Report-Viewer

Ob es ein Problem für die Größe Ihrer Anwendung ist - nun, ich sehe nicht, wie jeder von uns sagen könnte. Wie groß ist diese Datei insgesamt? Ob es die beste Lösung ist, können wir nicht sagen. Die Anzahl der Dateien ist an sich kein Problem, aber sind das wirklich unterschiedliche Berichte oder sind sie so ähnlich, dass Sie Dutzende von ihnen zu einem einzigen Bericht kombinieren können? Berichtsparameter können nützlich sein, um kleine Änderungen an sehr ähnlichen Berichten vorzunehmen.

Das ist alles, was ich mit den gegebenen Informationen sagen kann.

3

Dies ist ehrlich gesagt eine schwierige Frage zu beantworten, ohne alle notwendigen Informationen zu haben.

Es gibt eine große Chance, dass 150 rdlc-Dateien ein bisschen übermäßig ist und es möglich sein könnte, diese Zahl zu reduzieren, wenn einige der rdlc-Berichte ähnlich sind.
Wenn dies jedoch separate Berichte sind und es keine einfache Möglichkeit gibt, diese Anzahl zu reduzieren, indem Sie beispielsweise Unterberichte verwenden. Dann glaube ich, dass es kein wirkliches Problem bei der Bereitstellung aller von ihnen geben sollte. Sie könnten sie als Ressource definieren und sie in einem bestimmten Ordner erstellen lassen. Abhängig von der Umgebung sollten Sie vielleicht versuchen, einen gemeinsamen Speicherplatz zu haben, um sie zu speichern. Wenn Sie eine Web-Anwendung erstellen, sollte die Größe dieses Ordners überhaupt keine Rolle spielen.
Die positive Seite der verschiedenen rdlc-Dateien ist, dass die Berichte tatsächlich weniger Aufwand erfordern. Sie müssen nur einmal kompilieren, wenn Sie sich entschieden haben, sie nicht während der Build-Zeit zu kopieren, dann sollte dies den Prozess nicht verlangsamen.

Wenn viele dieser Berichte nur einige Daten aus Abfragen zeigen, dann glaube ich, dass es bessere Lösungen als rdlc-Berichte gibt. Aber wenn dies ein großes Projekt ist, ist es ziemlich normal, eine große Anzahl von Berichten zu haben, so dass diese vielen Dateien überhaupt kein Problem darstellen sollten.

Ich hoffe, dass dies zumindest einige Ihrer Fragen beantwortet. Wenn Sie weitere spezifische Ratschläge benötigen, geben Sie bitte weitere Informationen an und ich werde sehen, was ich tun kann.