c# – 下载非常大的文件(8GB) – 结合WCF和WebClient?
我在创建支持下载非常大的文件的WCF服务时遇到了一些麻烦.我已经阅读了很多关于如何将transferMode属性设置为Streamed的指南,将所有messageSize和bufferSize属性增加到Int32.MaxValue,但我仍然没有运气. (我还通过MessageBodyMember属性将流作为消息体返回,并使用MessageHeader属性通过标头发送元数据).
如果我设置了所有这些属性,我可以很好地下载较小的文件,但是当我尝试下载1-2GB文件时,我只是得到一个400错误的请求错误,这使得它很难调试… 理想情况下,我的服务应支持至少8GB的文件大小.这甚至可以用WCF吗? web.config文件的各种messageSize属性似乎仅限于Int32.MaxValue,它等于最大文件大小2GB. 从我的研究中我发现似乎我将不得不使用WebClient.DownloadFile. 理想情况下,我的WCF服务应该管理并提供用户令牌,并以某种方式绑定到每个单独的文件,令牌当前是合法的(令牌只能使用一次).然后应该通过WebClient进行下载. 提前感谢任何线索. 解决方法
您可以在WCF中执行此操作.许多月前,我构建了一个服务(我们的配置中没有Web服务器).我们使用WCF流:
http://msdn.microsoft.com/en-us/library/ms733742.aspx
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |