Sollte ich Base64-Codierung oder byte [] verwenden, um Binärdaten im .NET-Webdienst zurückzugeben

8

Ich habe eine einfache Frage. Sollte ich ein Byte-Array zurückgeben oder einfach meine Binärdaten codieren, wenn ich sie über einen Web-Service in .NET enthülle? Gibt es irgendwelche Vor-und Nachteile mit beiden Methoden, die meist unterstützt werden etc ..

    
Siewers 26.03.2010, 08:13
quelle

2 Antworten

10

Verwenden Sie ein Byte-Array. Über ein SOAP-Protokoll wird dieses Byte-Array automatisch unter Verwendung der base64-Codierung serialisiert. Ihr Webservice wird auch aussagekräftiger sein, wenn Sie ein Byte-Array verwenden. Stellen Sie sich jemanden vor, der Ihren Web-Service konsumieren und eine Methode suchen möchte, deren Signatur wie folgt aussieht:

%Vor%

Er fragt sich vielleicht, warum diese Methode eine Zeichenkette zurückgibt und was ich mit dieser Zeichenkette tun werde, während sie, wenn sie ein Byte-Array zurückgibt, viel klarer ist.

Ich habe Web-Service-Methoden gesehen, die wie folgt aussehen:

%Vor%

Erraten Sie, was die customer und die Rückgabetypen waren: Sie waren einige proprietäre XML. Es gibt absolut keinen Sinn, SOAP zu verwenden, wenn die Leute Protokolle darüber neu erfinden.

    
Darin Dimitrov 26.03.2010, 08:30
quelle
0

Eine Überlegung ist, dass eine Base64-codierte Zeichenfolge es Ihnen ermöglicht, das "Testformular" zum Debuggen von Problemen usw. zu verwenden. Das Byte-Array ist ein komplexer Typ und daher funktioniert das Testformular nicht.

    
Robin Day 26.03.2010 08:25
quelle