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)
,