我已根据该示例创建了一个流式wcf服务:http://www.codeproject.com/Articles/112655/Progress-Streamed-File-download-and-Upload-with-Re
使用控制台主机可以正常工作,上传和写入运行“并行”。但是,如果我在IIS中托管服务,似乎是在服务器端缓冲流。
答案 0 :(得分:0)
你怎么知道它的缓冲?代理生成后检查客户端的配置文件。有时,代理生成的配置文件的传输模式不正确。
当你开始在客户端上编写文件时,不要看到文件大小明显增加吗?
托管不应影响transfermode。
IIS和控制台之间的唯一区别在于管理激活/停用的方式。
答案 1 :(得分:0)
我找到了它:Getting Streaming in IIS Hosted WCF service to work
我认为这是一个已知问题(使用.net 4.0和iis 7进行流式传输)。 当使用流式传输的WCF服务在IIS中托管,然后是ASP.net 在其层缓冲请求。请求甚至没有达到 WCF,直到ASP.Net完成它。
这在使用非HTTP传输IIS或托管中时应该有效 非IIS主机。
(Zulfiqar Ahmed)
联系产品团队 - 他们表示将在.NET中修复 4.5因为它太大而不能作为补丁发布。
它适用于.NET Framework 4.5