Klasa opakowująca do asynchronicznego ładowania wiadomości e‑mail przy użyciu Aspose.Email
Klasa opakowująca do ładowania wiadomości e‑mail
Istnieje wiele sytuacji, w których pożądane jest posiadanie funkcjonalności limitu czasu w celu przerwania akcji trwającej niepotrzebnie długo. Ten artykuł zawiera przykładową klasę umożliwiającą implementację limitu czasu podczas ładowania plików EML/MSG, które mogą powodować bardzo długie opóźnienia lub niepowodzenia w ładowaniu. Ponieważ limit czasu nie jest bezpośrednio związany z operacjami odczytu/zapisu dysku lub sieci, niewiele sensu ma jego implementacja w API; lepiej jest zaimplementować go po stronie użytkownika, pisząc klasę opakowującą wokół Aspose.
Anulowanie długotrwale działającego wątku można osiągnąć przy użyciu owiniętego delegata, który przekazuje wątek do zakończenia w zmiennej lokalnej wewnątrz metody, która go uruchomiła. Długotrwale działający wątek jest anulowany przez jego przerwanie, a kontrola zostaje zwrócona do głównej aplikacji. Poniższy przykład kodu przedstawia klasę opakowującą wokół biblioteki Aspose.Email. Kod pokazuje również przykładowe użycie klasy opakowującej.