2010-11-26 9 views
0

Wir haben eine asp.net Seite, wo der Benutzer eine Datei hochladen darf.Übergeben von Datei von der Webseite an den Dienst wcf

Diese Datei wird dann über einen WCF-Dienst an ein Back-End-System gesendet.

Derzeit lesen wir die Datei in ein Byte-Array und senden dann ein Objekt in den Dienst wcf, wo das Byte-Array eine Eigenschaft ist.

Das funktioniert gut, aber wir fragen uns, ob es einen effizienteren Weg gibt, es zu tun?

Antwort

1

Sie könnten MTOM verwenden, das speziell für den Austausch von Binärdateien entwickelt wurde, da es den Overhead der XML-Serialisierung vermeidet. In dem Beispiel, das ich mit einem Byte-Array verknüpft habe, wird von einer WCF-Operation zurückgegeben, aber Sie könnten es auch als Eingabeargument verwenden.

+0

Danke für die Antwort, aber können wir vermeiden, die Datei in einem Byte-Array an erster Stelle zu lesen, und senden Sie den Stream vom Browser direkt in den Dienst wcf? –

+0

Ja, Sie könnten [streaming] aktivieren (http://msdn.microsoft.com/en-us/library/ms733742.aspx). In diesem Fall benötigt die Service-Operation einen Stream als Argument, auf den Sie direkt schreiben können. –

Verwandte Themen