Вызов Image.FromFile выдает исключение Out of memory

1

У меня есть функция, которая заполняет представление сетки данных, и эта функция использует подкачку

page size = 30

Он отлично работает, пока не выйдет исключение из памяти

У меня есть сервер Windows 2008 R2 64 бит, 8 ГБ ОЗУ
public static void FillDataGrid(DataGridView dataGrid, int intPageSize, int intPageIndex, out int intTotal
        ,string title)
    {

         dataGrid.Rows.Clear();

        try
        {
            var dt = GetData(intPageSize, intPageIndex, out intTotal, title); //dt type DataTable
            var dicrectory = Directory.GetCurrentDirectory();

            for (var i = 0; i < dt.Rows.Count; i++)
            {
                    var uri = new Uri(dt.Rows[i]["URL"].ToString());
                    var host = uri.Host.Replace("www.", "");
                    host = host.Replace(".com", "");

                    var iconFullUrl = dicrectory + @"\Icons\" +
                                      dt.Rows[i]["IconURL"].ToString();
                    object[] row = new object[10];
                    row[0] = "False";
                    row[1] = Image.FromFile(iconFullUrl);
                    row[2] = dt.Rows[i]["Title"].ToString();
                    row[3] = host;
                    row[4] = Convert.ToDateTime(dt.Rows[i]["Date"].ToString()).ToShortDateString();
                    row[5] = "";
                    row[6] = dt.Rows[i]["URL"].ToString();
                    row[7] = "";
                    row[8] = "";
                    row[9] = dt.Rows[i]["Id"].ToString();

                    dataGrid.Rows.Add(row);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

в этом разделе кода возникает ошибка

 row[1] = Image.FromFile(iconFullUrl); 
Теги:
arrays
winforms
out-of-memory

1 ответ

2
Лучший ответ

Добавление комментария в качестве ответа:

Согласно MSDN ошибка OutOfMemory может быть вызвана тем, что файл не имеет допустимого формата изображения или потому что GDI+ не поддерживает формат пикселя файла.

Кроме того, пока изображение не расположено, файл будет помечен как inuse

Ещё вопросы

Сообщество Overcoder
Наверх
Меню