我看过的解决方案有:
1.Response.TransmitFile("c:\\repro\\z.zip");
问题是我存的是二进制流,不想把它先保存成文件。2.我看到其他的也是读一部分字节,下载一部分,但这些全都是文件。我的文件在数据库中怎么弄?不可能吧整个文件一起读到内存吧,数据库中的字段读取支持部分读取么?

解决方案 »

  1.   

    public override long GetBytes (
    int i,
    long dataIndex,
    byte[] buffer,
    int bufferIndex,
    int length
    )
    这个是SqlClient,其他也应该有相应的方法
      

  2.   

    http://www.google.cn/search?q=asp.net+%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6+%E6%94%AF%E6%8C%81%E6%96%AD%E7%82%B9%E5%BA%8F%E4%BC%A0&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8
      

  3.   

    SQL2005支持二进制字段部分读取,SQL2000似乎不支持?
      

  4.   

    http://www.google.cn/search?complete=1&hl=zh-CN&newwindow=1&rls=com.microsoft%3Aen-US&q=%22Response.AddHeader%22+%E6%96%AD%E7%82%B9%E5%BA%8F%E4%BC%A0&meta=
      

  5.   

    数据库中的字段读取支持部分读取么?
    ——————————————————————————————————————————
    没有必要担心这个。如果你实在担心,你可以在Cache中缓存读取出的内容。
      

  6.   

    其实,我是相信SQL Server本来已经在内存中缓存了记录了啦。当然自己再在cache中缓存一遍未尝不是好的策略。我不使用关系数据库,它太差劲。我喜欢OODBMS,例如开源并且比较精巧的 db4object(for .Net)。