Cześć wszystkim, ostatnio piszę aplikacje w asp.net (mvc nie core) i mam refleksje na temat programowania asynchronicznego w pisaniu witryn internetowych w asp.net. Wiem, że kod asynchroniczny sprawia, że aplikacja jest bardziej responsywna. Poprzez mówienie, że aplikacja jest "responsywna" mam na myśli, że jeśli mamy przykładowo akcję kontrolera, która jest asynchroniczna i wewnątrz tej akcji jest jakaś metoda, która wykonuje się asynchroniczne (z użyciem słówka await) to gdy wykonywana jest ta metoda to w międzyczasie wątek główny może wykonywać inne zadania (np: obsługiwać interfejs do komunikacji z użytkownikiem). Dzięki temu aplikacja jest cały czas do dyspozycji. Moje pytanie brzmi: skoro tak jest to czy należy każdą akcję każdego kontrolera uczynić metodami asynchronicznymi? Szczerze wydaje mi się, że odpowiedź na to pytanie powinna być "nie", bo czytałem kiedyś, że aplikacje asp.net są uruchamiane za pomocą IIS, który ma swoją pulę wątków i właśnie IIS dba o to, aby aplikacja była w stanie zawsze obsłużyć w danym momencie wszystkie żądania (każde żądanie otrzymuje jeden wątek z puli). Nie jestem pewien tego co wiem obecnie i szukałem odpowiedzi w google'u, ale nie udało mi się cokolwiek znaleźć, więc chcę tutaj uzyskać odpowiedź. Czy programowanie asynchroniczne jest konieczne, aby aplikacja była w stanie obsłużyć w jednym momencie wszystkie żądania czy może zajmuje się tym IIS i programowanie asynchroniczne nie ma tutaj zastosowania? Kiedy używać async metod i await w aplikacjach asp.net?