通过SOAP Web服务传输二进制数据?

Jas*_*son 6 .net c# binary soap web-services

我有一个Web服务,它返回一个对象的二进制数组.是否有更简单的方法使用SOAP传输它,还是需要包含在XML中?它工作正常,但我不得不将发送和接收缓冲区增加到一个很大的值.多少是太多了?

将XML中的二进制文件作为数组传输似乎效率很低,但我看不到任何使用.NET添加二进制附件的方法.

pdr*_*pdr 4

作为数组?你的意思是你正在发送

<byte>8</byte>
<byte>127</byte>
Run Code Online (Sandbox Code Playgroud)

ETC?如果是这样,那么您当然可以通过预先将字节数组转换为十六进制字符串来改进它,例如。

<codedArray>087F09AFBD.....</codedArray>
Run Code Online (Sandbox Code Playgroud)

这是通过 SOAP 发送图像等的最常见方法。然而,即便如此,你的质疑也是正确的。恕我直言,您确实应该考虑其他更 RESTful 的传输协议。