Я загружаю текстовый файл размером ~ 3 МБ, используя WebClient.DownloadString(), но мне нужны только первые двадцать строк этого файла.Есть ли способ получить их без загрузки всего файла?
WebClient.DownloadString()
Вы можете использовать WebClient.OpenStream, как в примере в ссылке. Просто замените sr.ReadToEnd() на 20x sr.ReadLine().
WebClient.OpenStream
sr.ReadToEnd()
sr.ReadLine()
Держитесь за HttpWebResponse, вызывайте GetResponseStream, вызывайте Read на нем, пока вы не получите то, что хотите.
http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.getresponsestream.aspx
Это не обязательно снижает нагрузку на сервер.