thể trùng lặp:
Loading DLLs into a separate AppDomainC# - Đang tải NET hội vào AppDomain riêng biệt để bạn có thể dỡ bỏ Nó
là gì cách thích hợp để nạp một assembly .NET thành một AppDomain riêng vì vậy bạn có thể truy cập vào các loại/lớp của nó nhưng vẫn có thể tải xuống (và tải lại).
Đây là một tiếp tuyến của cuộc thảo luận trước đây: C# - Correct Way to Load Assembly, Find Class and Call Run() Method
+1 cảm ơn. Làm thế nào xấu là hình phạt hiệu suất mỗi khi bạn vượt qua AppDomains? – BuddyJoe
Nó phụ thuộc. Bất cứ điều gì đi qua giữa appdomain teh về cơ bản là serialized trên. (Nó hoạt động rất giống với Remoting.) Nói chung, nếu tất cả các kiểu của bạn xuất phát từ MarshallByRefObj, chúng sẽ chỉ tuần tự hóa một "handle", vì vậy nó khá nhanh. Khi bạn đọc dữ liệu, dữ liệu sẽ được tuần tự hóa, điều này có thể làm chậm mọi thứ một chút. Cố gắng luôn giữ càng nhiều "nội bộ" trong appdomain thứ hai, và nó có thể sẽ không là một vấn đề. –
Cũng lưu ý rằng thời gian cuộc gọi từ xa bị giới hạn. Tùy thuộc vào phiên bản .Net, bạn nên sử dụng WCF thay vì remoting. – Guillaume