Phần 3: Cách thức làm việc của một chương tŕnh C#
Trọng tâm phương pháp làm việc của C# xoay quanh khái niệm Assembly. Assembly là
tập hợp mã đă được biên dịch sang .NET. 1 Assembly chứa nội dung thực thi chương
trình hoặc các thư viện động. Assembly có thể được chứa trong nhiều file. Assembly
cũng có thể chứa metadata dùng để mô tả các kiểu và phương thức được định nghĩa trong
mă tương ứng. Assembly metadata này đựơc hiểu như là manifest, cho phép kiể
m tra
phiên bản và tính trạng của assembly:
•
Chỉ định thông tin, như là tên và phiên bản của assembly
•
Danh sách các kiểu được tập hợp bởi assembly
•
Danh sách các assembly khác được yêu cầu bởi assembly hiện tại
•
Danh sách mă truy vấn, mức độ bảo mật bao gồm mức độ được yêu cầu bởi
assembly và quyền hạn cho phép của assembly đó
Phân loại Assembly
1)Private Assemblies
Private assemblies là kiểu đơn giản nhất. Nó chứa phần mềm và chỉ được dùng cho phần
mềm đó. Với phần mô tả này bạn có thể chứa đựng các private assemblie cung cấp cho
một ứng dụng kiểu thực thi và một số thư việ
n, các thư viện này chứa mă sẽ được thi
hành bởi ứng dụng đó.
2)Shared Assemblies
Shared assemblies được dành cho các thư viện công cộng có thể dùng cho bất kì ứng
assembly - một phiên bản mới không tương thích với những ǵ sẵn có.
Giải pháp cho những vấn đề trên là đặt các shared assembly trong một cây thư mục đặt
biệt của hệ thống, có thể xem như là assembly cache toàn cục. Không giống như các
private assembly, nó không đơn giản là copy assembly sang một thư mục thích hợp - nó
cần được cài đặt rõ ràng vào cache. Tiến tŕnh này có thể
được thực thi bởi một số tiện ích
của .NET, bao gồm luôn quá trình kiểm tra trên assembly, tương tự như cài đặt một thư
mục trong assembly cache để đảm bảo tính toàn vẹn của assembly.
Để tránh tranh chấp tên, shared assemblies đưa ra một được quản lí dựa trên một khóa
mật mă chính. Tên này được gọi là strong name, được bảo đảm về tính độc nhất, và phải
được trích dẫn bởi ứng dụng muốn tham chiếu đến một shared assembly.
Vấn đề về tương thích với lỗi do ghi đè một assembly được đánh địa chỉ theo thông tín
phiên bản trong assembly manifest, và cho phép cài đặt song song.
Continue
Nortonxe(UDS)