none
WCF大文件传输问题 RRS feed

  • 问题

  • 各位专家,小弟遇到一个问题,那就是用http://developer.51cto.com/art/201002/184602.htm这篇文章的思路,写一个大文件上传程序 需要上传2GB以上的文件 其中核心代码有两点让有问题的地方,一是配置: <readerQuotas maxArrayLength="2147483647"/> 这一步限制了Byte数组的下标数量,而且核心代码当中 BinaryWriter writer = new BinaryWriter(fs);//初始化文件写入器 writer.Seek((int)offset, SeekOrigin.Begin);//设置文件的写入位置 这两句话直接限定了文件大小不能超过2GB,因为超过2GB之后就会告知- 试图将文件指针移到文件开头之前 的错误,请问各位大侠如果想分发2GB以上的文件该怎么办呢?
    大天使泰瑞尔
    2010年11月10日 7:17

答案

  • 上传2G的文件,我这边没法测试,内存不够。。

    不过,根据偏移量进行分割传输是个办法,但是WCF的最大设置值也就是2G,是否楼主的需求有待考量。。


    stay hungry stay foolish
    • 已标记为答案 Mog Liang 2010年11月17日 7:10
    2010年11月11日 5:25
    版主

全部回复

  • 这个文章的核心代码你贴一下。

     

    另外我记得当初,我们是使用客户端直接诶传输的字节流。

    使用File读取文件,然后调用Proxy发送。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的网站】:http://www.frankxulei.com/

    微软WCF中文技术论坛
    微软WCF英文技术论坛

    2010年11月10日 8:43
    版主
  • 上传2G的文件,我这边没法测试,内存不够。。

    不过,根据偏移量进行分割传输是个办法,但是WCF的最大设置值也就是2G,是否楼主的需求有待考量。。


    stay hungry stay foolish
    • 已标记为答案 Mog Liang 2010年11月17日 7:10
    2010年11月11日 5:25
    版主