У меня есть требование, когда мне нужно читать большой поток или данные с веб-сервера.Это не потоковая передача, а чтение больших данных частями со стороны клиента.
Для этого я создаю веб-запрос Http.Ниже приведен пример кода ..
StreamingObject streamObj = null;
using (HttpWebRequest httpReq = WebRequest.Create(uri))
{
HttpWebResponse response = httpReq.GetRespons();
Stream responseStream = response.GetStream();
streamObj = new StreamingObject(response, responseStream);
}
return streamObj;
В своем коде я делаю Http-веб-запрос к данному Uri.Затем я получаю HttpWebResponse и поток ответов.Создайте экземпляр StreamingObject, который является классом-оберткой для хранения ответа Http и потока ответов.
Я удалил Http Web Request.Клиенту предоставляется StreamingObject, а у объекта потоковой передачи есть один метод GetStream, который возвращает базовый поток ответа.Когда StreamingObject располагается, ответ Http и поток располагаются.
Причиной введения StreamingObject было то, что ответ Http должен оставаться открытым для доступа к базовому потоку.
Я хотел бы знать, является ли это правильным подходом или существует более простой способ сделать это.