Po otrzymaniu żądania HTTP przez IIS przekazuje żądanie do żądanej aplikacji w puli aplikacji obsługiwanej przez jeden lub więcej procesów roboczych. Proces roboczy spowoduje utworzenie wątku ze wspólnej puli wątków (jeśli jest to wymagane) w celu obsługi żądania http.Kontroler Web Api i Pula wątków
(i) Czy w kontekście kontrolera internetowego interfejsu API po otrzymaniu tego żądania kontroler jest inicjowany i przypisywany do utworzonego wątku?
(ii) Jeśli istnieje wiele żądań http do tego samego kontrolera APi, czy będzie tyle wystąpień kontrolera na jeden wątek wątku?
(iii) W scenariuszu, w którym zasób, który nie jest bezpieczny dla wątków (dbContext), jest deklarowany na poziomie klasy i tworzony w konstruktorze, a następnie używany w metodach klasy. Czy wystąpią problemy z zatwierdzaniem transakcji i zarządzaniem nimi?
W istocie, czy istnieje przypadek dopasowania kontrolera jeden do jednego na wątek? (Wiem, że w asp.net wiele wątków może faktycznie obsługiwać jedno żądanie http).
Dlatego sensowne jest tworzenie dbcontextu w ramach metod akcji i ponowne użycie ich w wielu instancjach różnych repozytoriów, wszystkie w zakresie metody działania. Próbowałem już tego i działa :). Ale obawiam się, że jakiś kod śmierdzi ... –