Khi IIS nhận được yêu cầu HTTP, nó sẽ gửi yêu cầu đến ứng dụng được yêu cầu trong một nhóm ứng dụng được phục vụ bởi một hoặc nhiều quy trình công nhân. Một quy trình công nhân sẽ sinh ra một luồng từ nhóm luồng được chia sẻ (nếu cần) để phục vụ yêu cầu http.Trình điều khiển Api Web và Hồ bơi Chủ đề
(i) Trong ngữ cảnh của bộ điều khiển api web, khi nhận được yêu cầu này, bộ điều khiển có được khởi tạo và gán cho luồng được sinh ra không?
(ii) Khi có nhiều yêu cầu http đến cùng bộ điều khiển api, sẽ có bao nhiêu phiên bản của bộ điều khiển cho mỗi chuỗi được sinh ra không?
(iii) Trong trường hợp tài nguyên không phải là chủ đề an toàn (dbContext) được khai báo ở cấp lớp và được khởi tạo trong một hàm dựng và sau đó được sử dụng trong các phương thức lớp. Sẽ có vấn đề cam kết và quản lý giao dịch?
Về bản chất, có sự so khớp từng đối một đối tượng điều khiển cho mỗi chuỗi không? (Tôi biết rằng với nhiều chủ đề asp.net có thể thực sự phục vụ một yêu cầu http đơn lẻ).
Vì vậy, nó có ý nghĩa để khởi tạo một dbcontext trong các phương thức hành động và tái sử dụng chúng với nhiều phiên bản của các kho khác nhau trong phạm vi của phương thức hành động. Tôi đã thử điều này rồi và nó hoạt động :). Nhưng tôi lo ngại về bất kỳ mùi mã nào ... –