2010-02-27 37 views

Trả lời

25

Xem here để biết thông tin về lưu trữ CLR có liên quan đến CLR v2 (.NET 2.0, 3.0 và 3.5). Để biết thông tin về API lưu trữ CLR mới hơn trong .NET 4.0, see here.

Về cơ bản, CLR hoạt động như một thư viện có thể được tải và "lưu trữ" theo một quy trình. Bạn có thể phát triển một ứng dụng tải và lưu trữ CLR nếu bạn muốn; điều đó sẽ cho phép ứng dụng của bạn chứa toàn bộ máy ảo CLR, lắp ráp và chạy mã được quản lý .NET tất cả trong đó. Ví dụ:

SQL Server 2008 có thể thực hiện việc này. Bạn có thể viết mã .NET được lưu trữ trong cơ sở dữ liệu SQL Server và chạy từ bên trong cơ sở dữ liệu SQL Server. SQL Server đang lưu trữ CLR để đạt được điều đó.

Máy chủ lưu trữ CLR khác với vỏ Windows (giao diện người dùng thông thường) có thể cung cấp ngữ cảnh cụ thể để mã của bạn chạy. Điều này có thể hữu ích cho các ứng dụng chuyên biệt hoặc các tình huống rất cụ thể. MSDN (liên kết ở trên) có một số hướng dẫn về những vấn đề này.

+1

+1 Cảm ơn bạn đã trả lời. Ngoài ra: khi một tập tin thực thi .NET được kích đúp và khởi động, người lưu trữ CLR? Nó có được Windows Explorer lưu trữ không? – Sabuncu

+0

@Sabuncu: Có. Đó là vỏ Windows mà tôi đã đề cập đến trong câu trả lời của mình. – CesarGon

+0

Cảm ơn. Tôi đã thấy tham chiếu "Windows shell" của bạn, nhưng không chắc chắn. Trong trường hợp này, tôi nghĩ bạn đang sử dụng "shell" theo nghĩa chung, không phải là một chương trình shell như DOS cmd.exe hoặc bảng điều khiển PowerShell. – Sabuncu

11

CLR Hosting là lưu trữ .NET Language Language Runtime trong một quá trình bạn chọn.

Trường hợp sử dụng sẽ là các tình huống mà môi trường hiện tại không phù hợp với yêu cầu của bạn. Một số môi trường hiện có là ASP.NET, WinForms, Windows Workflow Foundation, vv Nếu những thứ này không phù hợp với yêu cầu của bạn, bạn có thể tự lưu trữ nó.

2

CLR Hosting là Hosting sử dụng .Ứng dụng ứng dụng. Khi bạn bắt đầu thời gian chạy .NET bên trong một quá trình gốc, ứng dụng gốc sẽ trở thành máy chủ lưu trữ cho thời gian chạy. Điều này cho phép bạn thêm các khả năng .NET vào các ứng dụng gốc của bạn.

Nếu thời gian chạy đang chạy nhưng chưa có bất kỳ mã người dùng nào được tải. Một số trình lên lịch và bộ gom rác nội bộ chắc chắn đang chạy, vì chúng là một phần của thời gian chạy CLR Nó rất phức tạp so với các dịch vụ lưu trữ khác.

Các vấn đề liên quan