Обертка класса для асинхронной загрузки электронных сообщений с использованием Aspose.Email
Обертка класса для загрузки электронных сообщений
Существует множество случаев, когда желательно иметь функциональность тайм-аута для прерывания действия, которое занимает неоправданно длительное время. Эта статья предоставляет пример класса для достижения функциональности тайм-аута при загрузке файлов EML/MSG, что может привести к очень долгим задержкам или неудачной загрузке. Поскольку тайм-аут не является чем-то, что напрямую связано с операциями чтения/записи на диск или в сеть, имеет мало смысла реализовывать эту функцию в API, чем реализовать ее на стороне пользователя, написав класс-обертку вокруг Aspose.
Отмена длительного потока может быть достигнута с использованием обернутого делегата, который передает поток, подлежащий завершению, в локальной переменной внутри метода, который его инициировал. Длительный поток отменяется путем его прерывания, и управление возвращается в основное приложение. Следующий пример кода предоставляет класс-обертку вокруг библиотеки Aspose.Email. Код также демонстрирует пример использования класса-обертки.