ranio Ответов: 1

Почему исключение " listexception типа 'system.outofmemoryexception' было выброшено" происходит при извлечении файлов из папки в C#?


Я извлекаю файлы (в диапазоне 50k) из настроенного каталога и после того, как те же файлы загружаются в другую папку через sftp
Я получаю исключение "ListException типа 'System.OutOfMemoryException" был брошен" при этом.

Я использую службу windows, чтобы сделать то же самое.

Что я уже пробовал:

Извлечение 300 файлов(50 k) из каталога
List<SFTPFile> ListSFTPFile = new List<SFTPFile>();
SftpItemCollection list = _listSftp.GetList(GetSFTPServerPath("DDS300"));

foreach (SftpItem item in list)
{
    objSFTPFile           = new SFTPFile();
    objSFTPFile.FileType  = Enum.GetName(typeof(InwardMessageType), t);
    objSFTPFile.Extension = Enum.GetName(typeof(CBExtensionTest), r);
    objSFTPFile.Status    = SFTPStatus.L.ToString();
    objSFTPFile.FileName  = item.Name.Trim();
    objSFTPFile.FileSize  = item.Size;
    objSFTPFile.Mode      = SFTPMode.D.ToString();
    objSFTPFile.BankCode  = Common.BANKCODE;

    ListSFTPFile.Add(objSFTPFile);
    string logText = string.Format("{0} FileType: {1} FileName: {2}",
                                   MethodInfo.GetCurrentMethod().Name,
                                   objSFTPFile.FileType,
                                   objSFTPFile.FileName);
    Common.WriteLog(logText, ServiceThread.Listing.ToString());
}

Patrice T

Покажите реальный код.
Это петля, которая ничего не делает.

ranio

часть уровня кода в цикле также обновляется.

1 Ответов

Рейтинг:
0

#realJSOP

Поставить try/catch блок вокруг дома foreach блок, так что у вас есть некоторое представление, где он терпит неудачу. Узнайте, как отлаживать ваш код.