This property is only useful if you have problems downloading large files due to your environment limitations (reverse proxy etc.). For example, Microsoft Forefront UAG can not parse http responses when content-length is larger than 2GB (throws HTTP 500 due to 32-bit integer limit). By setting this property to 2GB, files up to 2GB will be sent with content-length set (default download method) but files larger than 2GB will be sent without content-length and with chunked-transfer encoding so that you can bypass UAG's limitation and successfully download the files. The reason this setting is specified as a threshold is that default download method (content-length set) is always better as it allows the browser to know the whole file size thus show progress information. However with chunked-transfer encoding, the browser will not know the whole file size so it will not be able to show progress information but it will still be able to download the file as long as it receives the stream. So users downloading files smaller than this threshold should not be punished with indeterminate progress but also users downloading files larger than this threshold should still be able to successfully download even there is no progress.
public ByteSizeValue DownloadWithChunkedTransferThreshold { get; set; }
Public Property DownloadWithChunkedTransferThreshold As ByteSizeValue
Get
Set