Một AppDomain về cơ bản cung cấp một khu vực bị cô lập trong đó mã chạy bên trong của một quá trình.
Một cách dễ hiểu về nó gần giống như một quy trình nhẹ hơn nằm bên trong quy trình chính của bạn. Mỗi AppDomain tồn tại trong một quy trình hoàn toàn biệt lập, cho phép bạn chạy mã một cách an toàn (nó có thể được tải xuống mà không làm hỏng toàn bộ quy trình nếu cần), với bảo mật riêng biệt, v.v.
Về chi tiết cụ thể của bạn - nếu bạn chạy mã trong 2 AppDomains khác nhau trong một quy trình, mã sẽ chạy riêng lẻ. Mọi giao tiếp giữa các AppDomains sẽ được tuần tự hóa hoặc xử lý thông qua MarshallByRefObject. Nó hoạt động rất giống như sử dụng sự hối hận trong vấn đề này. Điều này cung cấp một lượng lớn bảo mật - bạn có thể chạy mã mà bạn không tin tưởng, và nếu nó làm sai, nó sẽ không ảnh hưởng đến bạn.
Có nhiều chi tiết khác trong mô tả của MSDN về Miền ứng dụng .