Отслеживание Прогресса Конвертации Документов

Contents
[ ]

Aspose.Email предоставляет возможность отслеживать прогресс конвертации документов. Для этого API предоставляет SaveOptions.CustomProgressHandler, который представляет метод, обрабатывающий события прогресса. Типы событий прогресса представлены перечислением ProgressEventType. Перечисление ProgressEventType имеет следующие члены.

  • MimeStructureCreated: Это событие информирует о том, что MIME-структура создана.
  • MimePartSaved: Это событие информирует о том, что сохранение одной части MIME завершено.
  • SavedToStream: Это событие информирует о том, что все части MIME сохранены в поток.

Следующий пример кода демонстрирует использование SaveOptions.CustomProgressHandler и перечисления ProgressEventType для отслеживания прогресса конвертации документов.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
var fileName = dataDir + "test.eml";
MailMessage msg = MailMessage.Load(fileName);
MemoryStream ms = new MemoryStream();
EmlSaveOptions opt = new EmlSaveOptions(MailMessageSaveType.EmlFormat);
opt.CustomProgressHandler = new ConversionProgressEventHandler(ShowEmlConversionProgress);
msg.Save(ms, opt);

Следующий код предназначен для пользовательского класса, используемого в приведенном выше примере кода.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
private static void ShowEmlConversionProgress(ProgressEventHandlerInfo info)
{
int total;
int saved;
switch (info.EventType)
{
case ProgressEventType.MimeStructureCreated:
total = info.TotalMimePartCount;
saved = info.SavedMimePartCount;
Console.WriteLine("MimeStructureCreated - TotalMimePartCount: " + total);
Console.WriteLine("MimeStructureCreated - SavedMimePartCount: " + saved);
break;
case ProgressEventType.MimePartSaved:
total = info.TotalMimePartCount;
saved = info.SavedMimePartCount;
Console.WriteLine("MimePartSaved - TotalMimePartCount: " + total);
Console.WriteLine("MimePartSaved - SavedMimePartCount: " + saved);
break;
case ProgressEventType.SavedToStream:
total = info.TotalMimePartCount;
saved = info.SavedMimePartCount;
Console.WriteLine("SavedToStream - TotalMimePartCount: " + total);
Console.WriteLine("SavedToStream - SavedMimePartCount: " + saved);
break;
}
}