Я работаю с приложением wpf, и метод записи потока памяти используется в том, что для записи данных dicom data bytes.It показывает Исключение типа System.OutOfMemoryException
при попытке написать большие данные dicom размером более 70 мб. Можете ли вы предложить любое решение для решения этой проблемы.Выброшено исключение типа «System.OutOfMemoryException». C# при использовании потока памяти
Кусок кода, как этот
try
{
using (MemoryStream imagememoryStream = new MemoryStream())
{
while (true)
{
// Retrieve the DICOMData.
// data comes as chunks; if file size is larger, multiple RetrieveDICOMData() calls
// has to be raised. the return value specifies whether the chunk is last one or not.
dicomData = dicomService.RetrieveDICOMData(hierarchyInfo);
imagememoryStream.Write(dicomData.DataBytes, 0, dicomData.DataBytes.Length);
if (dicomData.IsLastChunk)
{
// data is smaller; completed reading so, end
break;
}
}
imageData=imagememoryStream.ToArray();
}
return imageData;
}
catch(Exception exception)
{
throw new DataException(exception.StackTrace);
}
Не можете ли вы записать эти данные в кусках? Почему он должен быть таким большим? –
Можете ли вы разместить свой код? –
* Я говорю, сэр, похоже, что ваш процесс ... из памяти. Совершенно своеобразно! * Сказал ни один программист, который понимал, насколько адресное пространство доступно для 32-битного процесса. –