2

Загрузка работает отлично для 62MB-файла. Однако он генерирует исключение, если он равен 100 МБ.EntityFramwork System.OutOfMemoryException при вставке 100MB в varbinary

Я нашел несколько вопросов в stackoverflow, но никто не очень специфичен в отношении типа данных.

Цените свою помощь!

ASP.Net 4, IIS7, EntityFramework 4.1, Visual Studio 2010 SP1, SQL 2008

DataType является VARBINARY (макс)

applicationHost.config

<section name="requestFiltering" overrideModeDefault="Allow" /> 

web.config

<httpRuntime maxRequestLength="1148576" executionTimeout="3600"/> 

<security > 
    <requestFiltering> 
    <requestLimits maxAllowedContentLength="112400000" /> 
    </requestFiltering> 
</security> 

Я использую EntityDataModel. Следующее исключение было выбрано дизайнером.

enter image description here

enter image description here

+0

не выглядит как «обычный» код EF - это использование WCF RIA? –

+0

Возможно, вам стоит попробовать потоковое или кодирование сообщений MTOM (если это действительно WCF). –

+0

Я использую EntityDataModel. Оттуда было выброшено исключение. – Win

ответ

2

Похоже, ваш файл слишком велик для вашей памяти. Вероятно, это связано с тем, что байты файла копируются несколько раз во время обработки, умножая их размер в процессе.

Что вас удивляет об этой ошибке?

+0

Локальный компьютер и сервер по-прежнему имеют большую память. Я что-то упустил или EF не разрешил 100MB-файл? Благодаря! – Win

+1

Ваш процесс 32 бит? В любом случае никто не намеренно бросает ООМ. Вы ** **, OOM, вы просто не знаете, почему. – usr

+1

Я не знаю, что вы делаете с содержимым файла в вашем приложении, но в соответствии с MSDN: «Этот метод должен возвращать копию значений, поскольку массивы байтов изменяемы без обеспечения надежного механизма отслеживания изменений». - поэтому EF уже создает две копии массива. Если вы читаете содержимое файла в массиве, чтобы установить свойство, у вас, вероятно, есть еще одна копия. Если вы сохранили данные в базе данных, я думаю, что EF может еще копировать исходные значения ... – Pawel

Смежные вопросы