Na początek, jest to dyskusja, jeśli ktokolwiek z was robi coś takiego jak anulowanie żądań w kontrolerach WebAPI (prawdopodobnie również w przypadku MVC).Asp.net WebAPI: Przerwane (anulowane) żądania
Co mam na myśli w szczególności, jest następujący scenariusz: Klient (przeglądarka zazwyczaj) uruchamia żądania, odlatuje lub jest bardziej ogólny, przerywa żądanie z dowolnego powodu. Teraz żądanie jest przerywane po stronie klienta i nie będzie dłużej brane pod uwagę. Ale po stronie serwera żądanie jest jeszcze wykonanie i zazwyczaj można robić 2 rzeczy szczególnie interesujący:
- Nawiąż (ciężki) DB-Query
- Zrób (ciężki) zgłoszenia serwisowego do innej usługi
Na koniec wszystko (przynajmniej jeśli jest to przynajmniej operacja odczytu bez efektów ubocznych).
Czy w takim przypadku ktoś obsługuje anulowanie trwającego zapytania/zgłoszenia serwisowego?
Wiem, że Token Anulowania może zostać przekazany w kontrolerze API (mimo że nie udało mi się go uruchomić, więc anulowanie było rzeczywiście wymagane przy przerywaniu pracy klienta). Ten token odwołujący się, teoretycznie, musiałby zostać przekazany do wszystkich niższych warstw, aby obsłużyć prawdopodobne anulowanie wywołań DB i usług.
to może nie odpowiedzieć na twoje pytanie w pełni, ale spójrz na http://stackoverflow.com/questions/19010856/should-we-use-cancellationtoken-with-mvc-web-api-controllers – David
Brzmi interesująco . Wygląda na to, że można go użyć jako parametru CancellationToken (to wiedziałem), a zwłaszcza, że został on anulowany przez framework. – cmart