1. Mỗi hồ bơi ứng dụng có tương đương với một .Net AppDomain không?
Không, một nhóm ứng dụng có thể có một số AppDomain. Mỗi AppDomain đại diện cho một ứng dụng ASP.NET đang chạy. Nhiều ứng dụng ASP.NET có thể thuộc về một Application Pool duy nhất.
2. Hoặc nó tương đương với quy trình .Net?
Không hoàn toàn. Xem bên dưới.
3. Làm thế nào là hồ bơi ứng dụng liên quan đến IIS w3wp.exe?
Hồ bơi ứng dụng đại diện cho một số quy trình công nhân có giới hạn có thể lưu trữ số lượng ứng dụng lớn hơn. Điều này tương tự như cách một kết nối SQL Pool chia sẻ một số lượng giới hạn các kết nối giữa một số lượng yêu cầu tùy ý.
Theo mặc định, Hồ bơi ứng dụng nhận được một quy trình làm việc (w3wp.exe
) và tốt nhất là nên để riêng cài đặt này trừ khi bạn biết mình đang làm gì. Tuy nhiên, một hồ bơi ứng dụng có thể được cấu hình để sử dụng bất kỳ số lượng các quy trình.
Quy trình công nhân thực sự là tài nguyên được gộp vào đây, chứ không phải AppDomain. Sẽ luôn có cùng số lượng AppDomains vì có các ứng dụng ASP.NET (trừ khi một ứng dụng đang ở giữa việc tắt hoặc một ứng dụng tạo ra các AppDomain riêng của nó), nhưng số lượng các Processer của Worker là độc lập; một Application Pool cung cấp cho bạn một số quy trình công việc cụ thể để xử lý các yêu cầu cho một số lượng cụ thể của AppDomains.
Cài đặt 1 (mặc định) cho số lượng quy trình công nhân trong App Pool có nghĩa là tất cả Applications/AppDomains trong nhóm dùng chung một quy trình công nhân.
Cảm ơn Andrew. Bạn cũng có thể thêm, khi nào hồ bơi ứng dụng được tạo? làm thế nào để giúp đưa ứng dụng web của bạn dưới một hồ bơi? – shahkalpesh
@shahkalpesh: trong IIS6 + Tôi không nghĩ rằng có thể có một ứng dụng không có trong một nhóm ứng dụng. Bạn cũng có thể thấy liên kết này hữu ích (http://weblogs.asp.net/owscott/archive/2007/09/02/application-vs-appdomain.aspx) – R0MANARMY