Мне нужно десериализовать большие файлы, загруженные с Azure Blob Storage.Deserializing большой блочный блок с использованием MemoryStream
Будет ли использовать MemoryStream
таким образом, чтобы оптимальный способ десериализации файла в object
?
Моей главной задачей здесь является использование ОЗУ.
BinaryFormatter formatter = new BinaryFormatter();
using (MemoryStream stream = new MemoryStream())
{
blob.DownloadToStream(stream);
stream.Position = 0;
return formatter.Deserialize(stream);
}
Другой вариант - загрузить весь файл в виде массива байтов. Обратите внимание, что эти файлы могут иметь размер до 50 МБ.
EDIT:
Далее от ответа Гийома:
бы тогда это тогда будет более оптимальным при сериализации и загрузки?
BinaryFormatter formatter = new BinaryFormatter();
using (var stream = blob.OpenWrite())
{
formatter.Serialize(stream, value);
blob.UploadFromStream(stream);
}
Отличный ответ - спасибо. См. Мой вопрос относительно сопоставления и выгрузки. – davenewza
Спасибо за обновление даже после того, как я принял ваш ответ! – davenewza