Laden...

Übertragen von Fremdkomponenten über WCF

Erstellt von DeSchneller vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.334 Views
D
DeSchneller Themenstarter:in
26 Beiträge seit 2011
vor 6 Jahren
Übertragen von Fremdkomponenten über WCF

Hi,

ich habe schon ein wenig gesucht, aber nichts passendes zu meinem Thema gefunden.

Ich bin gerade dabei eine Software die alles im Client macht auf einen WCF-Service umzuleiten. Für den normalen Gebrauch (Objekte aus meinem dbml oder Standarddatentypen) funktioniert es schon. Nur habe ich nun eine Fremdkomponente von Stimulsoft [Für alle die es nicht kennen es ist eine Reporttool ähnlich CrystalReports]. Hier möchte ich die Reports vom Server generieren lassen und dann den fertigen Report zur Ansicht zurück an den Client geben, dass dieser ihn anzeigen kann.

Hier liegt aber das Problem. Ich bekomme den Fehler, dass der TimeOut abgelaufen sei oder der Server beendet ist. Gleiche Fehlermeldung hatte ich anfangs mit meinem dbml bekommen (Serialisierung vergessen). Deshalb denke ich, dass es ebenfalls an der Serializierung des StiReports liegt.

Ich bin leider zu wenig mit WCF betraut, um zu wissen, wie ich die Serialisierung von Objecten vom Service zulassen kann bzw. welches Attribut ich wie setzen muss.

Bitte sagt mir, was ihr anschauen müsst, um mir helfen zu können. Oder könnt ihr das schon so?

VLG
Christian (DeSchneller)

6.911 Beiträge seit 2009
vor 6 Jahren

Hallo DeSchneller,

das Problem liegt sicher darin, dass WCF nicht weiß bzw. nicht wissen kann wie die Report-Komponente zu serialisieren ist.
Lass den Server einmal mit dem Debugger laufen od. logge die Fehler (fürs WCF-Logging schau :rtfm: ) um dies zu bestätigen.

Lässt sich die Report-Komponente überhaupt irgendwie serialiseren für den Anwendungsfall wie du ihn hast. Also kann diese Komponente binär, xml, json od. sonst irgendwie serialisiert werden?
Wenn das schon nicht geht, so geht es mit WCF auch nicht.
Ginge das, so kannst du WCF beibringen einen eigenen Serialisierer dafür zu verwenden.

Ist es grundsätzlich auch möglich dass der Client nur den fertig gerenderten Report in Form von HTML, Pdf, etc. bekommt?

Hier möchte ich die Reports vom Server generieren lassen

Warum das eigentlich? Od. kannst du dem Client die nötigen Daten liefern und der rendert dann bei ihm?
Ich kenn dein System und die Software nicht, aber ich würde das eher am Client rendern lassen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

D
DeSchneller Themenstarter:in
26 Beiträge seit 2011
vor 6 Jahren
Danke

Hi und danke für den hilfreichen Anstubser.

DIe Lösung war den Report nicht als Klasse zu übertragen, sondern man kann ihn als String (gerendert) ablegen und damit übertragen und auf Clientseite diesen wieder aus dem string laden.

Nochmal danke.