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