Я получаю исключение из памяти при интенсивном использовании system.draw в моей службе Windows.
вот часть моего кода:
FileStream fs = new FileStream(ImagePath, FileMode.Open, FileAccess.Read);
img = (Image)Image.FromStream(fs).Clone();
Исключение не только возникает в этой точке, оно также поднимается в других местах, иногда когда это включает рисование, обрезку, изменение размера, копирование изображения
Я всегда выбрасываю все использованные предметы.
Я видел эту статью об «Исключении из нехватки памяти» в system.drawing
здесь
и хотя он очень похож на мой случай, он отличается, поскольку мои данные тестирования представляют собой повторяющуюся цепочку из 40 изображений, поэтому, если в одном из них есть проблема, она должна появиться быстро с первого цикла.
Я видел упомянутое ограничение здесь
он говорит, что мы не должны использовать system.drawing в Win / Web-сервисах.
ОК, мне нужно использовать его с Windows-сервисом для массовой обработки изображений, какие есть альтернативы?