Что такое CLR-хостинг?

Что такое CLR-хостинг? Какой для этого вариант использования?


person Yaron Naveh    schedule 27.02.2010    source источник


Ответы (3)


См. здесь для получения информации о хостинге CLR, который имел отношение к CLR v2 (. NET 2.0, 3.0 и 3.5). Информацию о новом API хостинга CLR в .NET 4.0 см. здесь.

По сути, CLR действует как библиотека, которая может быть загружена и «размещена» процессом. Вы можете разработать приложение, которое загружает и размещает CLR, если хотите; это позволит вашему приложению содержать всю виртуальную машину CLR, загружать сборки и запускать управляемый код .NET внутри нее.

Например, SQL Server 2008 может это сделать. Вы можете написать код .NET, который хранится в базе данных SQL Server и запускается из ядра базы данных SQL Server. Для этого SQL Server размещает среду CLR.

Хост CLR, отличный от оболочки Windows (обычный пользовательский интерфейс), может предоставить конкретный контекст для запуска вашего кода. Это может быть полезно для специализированных приложений или очень конкретных сценариев. В MSDN (ссылка выше) есть несколько рекомендаций по этим вопросам.

person CesarGon    schedule 27.02.2010
comment
+1 Спасибо за ответ. Также: когда исполняемый файл .NET дважды щелкается и запускается, кто размещает CLR? Он размещен в проводнике Windows? - person Sabuncu; 06.08.2013
comment
@Sabuncu: Да. Это оболочка Windows, о которой я упоминал в своем ответе. - person CesarGon; 07.08.2013
comment
Спасибо. Я видел вашу ссылку на оболочку Windows, но не был уверен. В этом случае я думаю, что вы используете оболочку в общем смысле, а не программу оболочки, такую ​​как DOS cmd.exe или консоль PowerShell. - person Sabuncu; 07.08.2013
comment
Что ж, оболочка Windows - это хорошо известная фраза для обозначения компонентов пользовательского интерфейса ОС Windows с точки зрения разработки. См. Здесь: msdn.microsoft .com / en-us / library / windows / desktop / Эта фраза также используется в документации .NET CLR для обсуждения альтернатив хостинга. - person CesarGon; 07.08.2013

Хостинг CLR - это размещение среды выполнения .NET Common Language Runtime в процессе по вашему выбору.

Вариантом использования могут быть ситуации, когда существующие среды не соответствуют вашим требованиям. Некоторые из существующих сред - это ASP.NET, WinForms, Windows Workflow Foundation и т. Д. Если они не соответствуют вашим требованиям, вы можете разместить их самостоятельно.

person John Saunders    schedule 27.02.2010

CLR Hosting is Hosting использует приложение .NEt. Когда вы запускаете среду выполнения .NET внутри собственного процесса, это собственное приложение становится хостом для среды выполнения. Это позволяет вам добавлять возможности .NET в ваши собственные приложения.

Если среда выполнения запущена, но еще не загружен пользовательский код. Некоторые внутренние планировщики потоков и сборщики мусора наверняка работают, потому что они являются частью среды выполнения CLR. Это очень сложно, чем другие службы хостинга.

person user1947824    schedule 04.01.2013