locked
User File Management RRS feed

  • Question

  • User2047628442 posted

    Hi,

         We are developing a Cloud Infrastructure, We are storing User files in our data center Files varies from 1 MB to 1GB,

    When User downloads his files what is the best way to stream it

    1) By using WCF Service, By converting it to Bytes and sending it to the user (What if File is to Large)

    2) By using FTP

    Any other idea's

    Thanks ...

    Monday, August 25, 2014 1:47 AM

Answers

  • User-1151753377 posted

    Hi venkatesh.naik,

    According to your description, I know you want to find a better way to stream the files when one user download it.

    As far as I know, may be using the WCF Service is a better way.

    To transfer large files using “WCF service + HTTP”, we can use the following types of bindings:

    • wsHttpBinding
    • basicHttpBinding

    In wsHttpBinding, we can set the transfermode attribute as Buffered, but there is a disadvantage in using this approach for large files, because it needs to put the entire file in memory before uploading/downloading, A large buffer is required on both the web client and the WCF service host. However, this approach is very useful for transferring small files, securely.

    In basicHTTPBinding we can use the transfermode as Streamed so that the file can be transferred in the form of chunks. We have to ensure additional security mechanisms for transferring chunks. The security mechanisms are not explained in this posting.

    These are some articles about the WCF Service, please refer to the link below, hope this can be helpful to you.

    http://www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-Over-HTTP

    http://garfoot.com/blog/2008/06/transferring-large-files-using-wcf/

    http://msdn.microsoft.com/en-us/library/ms733742(v=vs.110).aspx

     

     If you have any other questions, please feel free to post this forum.

    Best Regards,

    Summer

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Monday, August 25, 2014 10:39 PM