當IIS收到HTTP請求時,會將請求轉交給由一個或多個工作進程提供服務的應用程序池中請求的應用程序。一個工作進程會從共享線程池中產生一個線程(如果需要的話)來處理http請求。 (i)在web api控制器的上下文中,當接收到這個請求時,控制器是否實例化並分配給了產生的線程? (ii)當同一api控制器有多個http請求時,每個衍生線程的控制器是否會有多少個實例? (iii)在非線程安全的資源(dbContext)在類級別聲明並在構造函數中實例化,然後在類方法中使用的場景中。會否存在提交和管理交易的問題?Web Api控制器和線程池
從本質上講,每個線程是否存在控制器實例的一對一匹配? (我知道,使用asp.net,多個線程實際上可以服務一個http請求)。
因此,有必要在動作方法中實例化一個dbcontext,並在動作方法的作用域內重用它們與不同存儲庫的多個實例。我已經試過這個,它的作品:)。但我擔心任何代碼味道... –