在stackoverflow上有很多关于处理WCF和大文件的帖子,但一般建议使用流。这似乎不是一个非常可互操作的解决方案。
如何在WCF中处理大文件并保持互操作性?
老实说,流媒体是如此受欢迎的解决方案的原因是它运行良好。.net处理WS-I样式请求的正常方式对于大文件来说效率低得可怕。它不是用来传输大文件的,如果你真的想这样做,你会发现很难扩展到任何显著的流量。
最好的答案是避免它。如果你需要,添加一个服务请求,它可以在你的服务上"设置"一个文件传输,然后使用一个普通的HTTP请求使用cookie来实际获取文件。
如果您确实必须通过WS-I服务发送文件,那么您所能做的就是启用MTOM,并希望您不会立即收到足够的请求,从而使服务器在处理那些非常大的XML消息时耗尽RAM。