当前位置: 首页 > 编程语言 > C#

通过SOAPWeb服务传输二进制数据?分享

时间:2023-04-10 17:00:05 C#

以通过SOAP网络服务传输二进制数据?我有一个返回二进制对象数组的Web服务。是否有更简单的方法使用SOAP来传输它,或者它是否需要包含在XML中?它工作正常,但我必须将发送和接收缓冲区增加到一个很大的值。多少是太多了?将XML中的二进制文件作为数组传输似乎效率低下,但我看不到任何使用.NET添加二进制附件的方法。作为数组?你的意思是你发送8127等等?如果是这样,那么您可以通过事先将字节数组转换为十六进制字符串来改进它,例如。087F09AFBD.....这是通过SOAP发送图像等最常见的方式。但是,即使那样,你也可以质疑它。恕我直言,您应该真正关注其他更RESTful的传输协议。在HTTP协议中,您将发送包含SOAP消息的mime类型文本/xml消息。但是HTTP协议允许您发送多条消息,例如一封由一条消息和一个附件组成的电子邮件。这称为“带有附件的肥皂”http://en.wikipedia.org/wiki/SOAP_with_Attachments这是通过mime类型“multipart/related”完成的。查看http://msdn.microsoft.com/en-us/library/ms733742.aspx了解如何使用WCF那么您真的不应该通过网络服务发送二进制信息。这样做会使使用Web服务的兼容性失效。理想情况下,您将对象序列化为xml。但是,如果您发送的信息本质上是二进制的,例如图像,那么您可以确保将其放入SOAP消息的负载中。多少信息实际上取决于您要等待多长时间和您的网络速度。我认为您可以发送的信息的大小没有任何实际限制。如果它真的很多(50meg+似乎是一个任意大的数字)那么您可能需要考虑替代传输协议,例如通过套接字进行流式传输。以上就是C#学习教程:通过SOAPWeb服务传输二进制数据?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: