Jim*_*ley 6 c# web-services stream asmx
我们有一个Web服务(asmx),它接受一个字节数组缓冲区并将其流式传输到外部文件服务以进行存储和存档.它由Windows服务调用,生成相当小的文件(3-5M),因此创建一个大小的字节数组并将其作为Web服务调用的参数提供,直到现在都运行良好.
我的任务是将新作业添加到文件队列中,该队列可能会生成大于70M的文件.显然byte[],这个大小将压倒系统内存,所以我一直在寻求解决方案.Web服务有一个内部方法,它将a FileStream作为参数而不是a byte[],因此我尝试将FileStream方法表示为WebMethod.我已经更新的Windows服务的引用,但奇怪的事情发生了:通过FileStream参数有一个命名空间的连接符(像CallingWindowsService.ExternalWebServiceFileManager.FileStream),这指定的对象不带任何文件名作为构造,所以我无法打开特定文件.
我完全在海上如何处理这个问题.有没有其他人这样做 - 将大量数据流式传输到 Web服务 - 如果是这样,最好的方法是什么?我的网络服务需要一个byte[]或FileStream.
看一下其他一些消息,看起来MTOM(不熟悉它)可能是一个解决方案,但我不确定如何在我的网络方法中设置它或让它工作.
ASMXWeb 服务是一项遗留技术,不应该用于新的开发。
它缺乏的功能之一是对流媒体和大文件的支持。特别是,消息在发送到客户端时将在内存中复制最多四次。
WCF确实支持真正的流媒体。
| 归档时间: |
|
| 查看次数: |
14503 次 |
| 最近记录: |