Hệ thống bảo mật trong .NET khá phức tạp. Tôi không chắc chắn câu trả lời là đơn giản như nó có thể âm thanh ở cái nhìn đầu tiên. Ngay cả trong trường hợp bạn có một hội đồng duy nhất, kiểm tra an ninh vẫn được thực hiện. Khi bạn bắt đầu một ứng dụng có tất cả các logic trong một .exe duy nhất, bạn không bỏ qua các kiểm tra bảo mật .NET để tải và kiểm tra lắp ráp, cũng như bạn không bỏ qua việc kiểm tra kiểu thừa kế. Tuy nhiên, khi bảo mật đã được xác minh cho một phạm vi nhất định, nó thường không xảy ra lần nữa (có thể có một số trường hợp giảm nhẹ sẽ buộc xác minh lại bằng chứng.)
Nhiều hội đồng sẽ không hoạt động khác. Có thể có một số chi phí lắp ráp bổ sung và chi phí truy cập loại ban đầu, vì mỗi hội đồng mới sẽ yêu cầu những kiểm tra bảo mật ban đầu đó. Tuy nhiên, những kiểm tra này thường sẽ nhợt nhạt so với quá trình tự JITting mã.
Ngoài kiểm tra an ninh cơ bản và loại kiểm tra bảo mật, bạn cũng có thể có các yêu cầu quyền rõ ràng. Các không gian tên hệ thống của Microsofts được kiểm tra bằng các kiểm tra bảo mật của Demand và LinkDemand để xác minh tất cả người gọi lên stack (demand) hoặc người gọi ngay (yêu cầu liên kết) có quyền thực hiện cuộc gọi. (Mã của bạn cũng nên bao gồm kiểm tra như vậy là thích hợp để xác nhận người gọi có sự cho phép thích hợp, quá.) Những kiểm tra an ninh sẽ xảy ra bất kể nơi mã sống ... cục bộ, trong một hội đồng khác, hoặc thậm chí trong một hội đồng trong một miền ứng dụng . Tuy nhiên, một khi bạn nhận được các cuộc gọi đến các miền hoặc quy trình ứng dụng khác hoặc thậm chí là các dịch vụ và các máy chủ khác, chi phí cho việc kết hợp các cuộc gọi đó và thực hiện kết nối là các đơn đặt hàng có cường độ đắt hơn.
Đây không phải là toàn bộ hình ảnh khi nói đến bảo mật .NET. Một số kiểm tra an ninh là tốn kém hơn so với những người khác. Một số yêu cầu một chứng chỉ, những người khác yêu cầu bằng chứng, vv An ninh không phải là một cái gì đó bạn có thể trốn tránh ... một thành phần thiết yếu và quan trọng của sự phát triển phần mềm hiện đại. Tôi sẽ không lo lắng nhiều về chi phí bảo mật ... vì nó được triển khai tốt và được tối ưu hóa tốt trong .NET framework và CLR. Tôi sẽ nỗ lực của bạn để đảm bảo rằng ứng dụng của bạn được cấu trúc và tổ chức đúng cách.Nếu tách mã ra thành nhiều hội đồng là hợp lý, giảm nỗ lực bảo trì, triển khai và tái cấu trúc, thì WELL của nó đáng giá thêm chi phí nhỏ để bảo mật.
@Andrew: Xong. – dewald