我正在开发一个有两层图像处理服务。顶层是基于REST的WCF服务,它将图像上载,处理并将其保存到文件系统。由于我的顶层没有任何直接的数据库访问(按设计),我需要将图像传递给我的应用程序层(WsHTTPBinding WCF),它具有数据库访问权限。就目前而言,图像的大小可达2MB,我正试图找出通过网络传输数据的最佳方法。
我目前正在将图像数据作为字节数组发送,并且该对象必须至少暂时存储在内存中才能写入数据库(在本例中为MySQL服务器)所以我不这样做知道使用Stream可以帮助消除潜在的内存问题,或者无论我做什么,我都必须处理可能会填满我的记忆。或者我只是在想这个?
答案 0 :(得分:2)
查看此MSDN文章的“流式数据”部分:Large Data and Streaming
我使用了所描述的确切方法来成功上传大型文档,甚至从WCF服务流式传输视频内容。关键是在消息合同中传递Stream对象,并在客户端和服务配置中将transferMode设置为Streaming。
我看到this post关于有效地将该流推送到MySQL中,希望这会让你指向正确的方向。