StreamReader OutOfMemoryException

Я использую веб-сервис, который возвращает XML и я хочу прочитать его в строку. Я использую метод ReadToEnd класса StreamReader, но в этот момент возникает исключение OutOfMemory из-за большого объема XML-данных. Есть ли способ получить это. Мой код ниже

        Stream dataStream;
        WebResponse response;
        string responseFromServer = string.Empty;
        string url = myurl;

        WebRequest request = WebRequest.Create(url);

        ASCIIEncoding encoding = new ASCIIEncoding();

        byte[] data = encoding.GetBytes(postData.ToString());

        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;

        dataStream = request.GetRequestStream();
        dataStream.Write(data, 0, data.Length);
        dataStream.Close();
        response = request.GetResponse();

       using (Stream stream = response.GetResponseStream())
        {
            using (StreamReader reader = new StreamReader(stream))
            {
                try
                {
                    responseFromServer = reader.ReadToEnd();
                }
                catch (Exception ex)
                {
                  throw ex;         
                }             
            }
        }

1 ответ

Существует перегрузка нагрузки, которая принимает TextReader, StreamReader происходит от TextReaderтак что вы должны быть в состоянии написать doc.Load(reader),

Другие вопросы по тегам