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.
Cách dễ dàng để nghĩ về nó gần giống như quy trình trọng lượng 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 quá trình tách biệt hoàn toàn, 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 rách toàn bộ quá trình nếu cần), với bảo mật riêng, v.v.
Như chi tiết cụ thể của bạn - nếu bạn chạy mã trong 2 AppDomain khác nhau trong một quá trình, mã sẽ chạy trong sự cô lập. Bất kỳ liên lạc nào giữa các AppDomains sẽ được serialize hoặc xử lý thông qua MarshallByRefObject. Nó hoạt động rất giống như sử dụng remoting trong lĩnh vực này. Điều này cung cấp một số 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 điều gì đó 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 là Application Domains.
Nguồn
2009-07-07 20:00:11
Phần đầu tiên là bản sao của http://stackoverflow.com/questions/622516/i-dont-understand-appdomains. Có lẽ câu hỏi cần được chỉnh sửa để chuyển dữ liệu. –
Woops, bỏ lỡ một. Điều này có thể được đóng lại. – Luke