Mam kontroler w mojej aplikacji internetowej mvc4, w której jest akcja, która musi wywołać inną funkcję. To, co dzieje się w tej funkcji, tj. Wartość zwracana, nie jest ważne dla mojego działania. Jak mogę wywołać tę funkcję i nigdy nie czekać na jej wykonanie?
Myślę, że można to zrobić za pomocą asynchronizacji, ale moim celem nie jest używanie zasobów, wystarczy wywołać funkcję i nigdy nie czekać na to, co się kiedykolwiek wydarzy.
Proszę o poradę.
c#
.net
asp.net
asp.net-mvc
użytkownik2675751
źródło
źródło
Odpowiedzi:
Pamiętaj, że rozpoczęcie metody bez dbania o wynik lub wyjątki, które może rzucać, jest ryzykowne.
Jeśli zostanie zgłoszony wyjątek
Task
, zostanie on ukryty, dopóki:Wait()
do zadania lub:Task
.Możesz obsłużyć siebie 1. i 2. wkrótce po wywołaniu metody lub możesz dołączyć kontynuację,
myTask.OnComplete(myErrorHandler, TaskContinuationOptions.OnlyOnFaulted)
która ma być uruchomiona, gdy oryginalne zadanie zgłosi wyjątek. 3. spowoduje awarię procesu; nie rób tego.źródło