Danh mục

Miền ứng dụng ,cơ chế phản chiếu và siêu dữ liệu phần 1

Số trang: 7      Loại file: pdf      Dung lượng: 192.17 KB      Lượt xem: 8      Lượt tải: 0    
Thu Hiền

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Miền ứng dụng ,cơ chế phản chiếu và siêu dữ liệu Sức mạnh và tính linh hoạt của Microsoft .NET Framework được nâng cao bởi khả năng kiểm tra và thao tác các kiểu và siêu dữ liệu lúc thực thi.
Nội dung trích xuất từ tài liệu:
Miền ứng dụng ,cơ chế phản chiếu và siêu dữ liệu phần 1Chương 3 : Miền ứng dụng ,cơ chế phản chiếu và siêu dữ liệuSức mạnh và tính linh hoạt của Microsoft .NET Framework được nâng cao bởi khả năngkiểm tra và thao tác các kiểu và siêu dữ liệu lúc thực thi. Các mục trong chương này sẽtrình bày các khía cạnh thông dụng của miền ứng dụng (application domain), cơ chếphản chiếu (reflection), và siêu dữ liệu (metadata), bao gồm: Tạo và hủy các miền ứng dụng (mục 3.1 và 3.9). Làm việc với các kiểu và các đối tượng khi sử dụng nhiều miền ứng dụng (mục 3.2, 3.3, 3.4, và 3.8). Làm việc với thông tin Type (mục 3.10 và 3.11). Tạo động các đối tượng và nạp động các assembly lúc thực thi (mục 3.5, 3.6, 3.7, và 3.12). Tạo và kiểm tra các đặc tính tùy biến (các mục 3.13 và 3.14). 1.1 Tạo miền ứng dụng Bạn cần tạo một miền ứng dụng mới. Sử dụng phương thức tĩnh CreateDomain của lớp System.AppDomain.Dạng thức đơn giản nhất của phương thức CreateDomain nhận một đối số kiểu string chỉđịnh tên thân thiện cho miền ứng dụng mới. Các dạng thức khác cho phép bạn chỉ địnhchứng cứ (evidence) và các thiết lập cấu hình cho miền ứng dụng mới. Chứng cứ đượcchỉ định bằng đối tượng System.Security.Policy.Evidence; mục 13.11 trình bày các tácđộng của chứng cứ khi bạn tạo một miền ứng dụng. Các thiết lập cấu hình được chỉ địnhbằng đối tượng System.AppDomainSetup.Lớp AppDomainSetup chứa các thông tin cấu hình cho một miền ứng dụng. Bảng 3.1kiệt kê các thuộc tính thường được sử dụng nhất của lớp AppDomainSetup khi tạo cácmiền ứng dụng. Các thuộc tính này có thể được truy xuất sau khi tạo thông qua các thànhviên của đối tượng AppDomain, và một số có thể thay đổi lúc thực thi; bạn hãy thamkhảo tài liệu .NET Framework SDK về lớp AppDomain để hiểu chi tiết hơn.Bảng 3.1 Các thuộc tính thông dụng của lớp AppDomainSetup Thuộc tính Mô tả Thư mục mà CRL sẽ xét trong quá trình dò tìm các assembly riêng. Kỹ thuật dò tìm (probing) sẽ được thảo luận trong mục 3.5. Thực tế, ApplicationBase là thư mục gốc cho ứng dụng ApplicationBase đang thực thi. Theo mặc định, đây là thư mục chứa assembly. Có thể đọc được thuộc tính này sau khi tạo miền ứng dụng bằng thuộc tính AppDomain.BaseDirectory. Tên của file cấu hình, được sử dụng bởi mã đã được nạp vào miền ứng dụng. Có thể đọc được ConfigurationFile thuộc tính này sau khi tạo miền ứng dụng bằng phương thức AppDomain.GetData với khóa APP_CONFIG_FILE. Quy định phần publisher policy của file cấu hình ứng dụng có được xét đến hay không khi xác DisallowPublisherPolicy định phiên bản của một assembly tên mạnh để nối kết. Publisher policy sẽ được thảo luận trong mục 3.5. Danh sách các thư mục cách nhau bởi dấu chấm phẩy mà bộ thực thi sẽ sử dụng khi dò tìm các assembly riêng. Các thư mục này có vị trí tương đối so với thư mục được chỉ định trong PrivateBinPath ApplicationBase. Có thể đọc được thuộc tính này sau khi tạo miền ứng dụng bằng thuộc tính AppDomain.RelativeSearchPath. Có thể thay đổi thuộc tính này lúc thực thi bằng phương thức AppendPrivatePath và ClearPrivatePath.Ví dụ dưới đây trình bày cách tạo và cấu hình một miền ứng dụng:// Khởi tạo một đối tượng của lớp AppDomainSetup.AppDomainSetup setupInfo = new AppDomainSetup();// Cấu hình các thông tin cài đặt cho miền ứng dụng.setupInfo.ApplicationBase = @C:MyRootDirectory;setupInfo.ConfigurationFile = MyApp.config;setupInfo.PrivateBinPath = bin;plugins;external;// Tạo một miền ứng dụng mới (truyền null làm đối số chứng cứ).// Nhớ lưu một tham chiếu đến AppDomain mới vì nó// không thể được thu lấy theo bất kỳ cách nào khác.AppDomain newDomain = AppDomain.CreateDomain( My New AppDomain, new System.Security.Policy.Evidence(), setupInfo); Bạn phải duy trì một tham chiếu đến đối tượng AppDomain vừa tạo bởi vì không có cơ chế nào để liệt kê các miền ứng dụng hiện có từ bên trong mã được-quản-lý. 1.2 Chuyển các đối tượng qua lại các miền ứng dụng Bạn cần chuyển các đối tượng qua lại giữa cá ...

Tài liệu được xem nhiều: