visual studio software net framework español .net clr clr-hosting

.net - studio - ¿Qué es CLR hosting?



clr windows (3)

¿Qué es CLR hosting? ¿Cuál es el caso de uso para eso?


CLR Hosting es Hosting utiliza la aplicación .NEt. Cuando inicia el tiempo de ejecución de .NET dentro de un proceso nativo, esa aplicación nativa se convierte en un host para el tiempo de ejecución. Esto le permite agregar capacidades .NET a sus aplicaciones nativas.

Si el tiempo de ejecución se está ejecutando, pero aún no tiene ningún código de usuario cargado. Algunos programadores de subprocesos internos y el recolector de basura seguramente se están ejecutando, porque son parte del tiempo de ejecución de CLR. Es muy complicado que otros servicios de alojamiento.


CLR Hosting está alojando el Common Language Runtime en un proceso de su elección.

El caso de uso sería situaciones en las que los entornos existentes no se ajusten a sus requisitos. Algunos de los entornos existentes son ASP.NET, WinForms, Windows Workflow Foundation, etc. Si estos no se ajustan a sus requisitos, puede hospedarlo usted mismo.


Consulte here para obtener información sobre el alojamiento CLR que fue relevante para CLR v2 (.NET 2.0, 3.0 y 3.5). Para obtener información sobre la nueva API de alojamiento de CLR en .NET 4.0, consulte aquí .

Básicamente, el CLR actúa como una biblioteca que puede ser cargada y "alojada" por un proceso. Puede desarrollar una aplicación que cargue y aloje el CLR si lo desea; eso permitiría que su aplicación contenga una máquina virtual CLR completa, cargar ensamblados y ejecutar código administrado .NET todo dentro de ella.

SQL Server 2008, por ejemplo, puede hacer esto. Puede escribir código .NET que se almacena en una base de datos de SQL Server y se ejecuta desde el motor de base de datos de SQL Server. SQL Server está alojando el CLR para lograr eso.

Un host CLR que no sea el shell de Windows (la interfaz de usuario habitual) puede proporcionar un contexto específico para que se ejecute su código. Esto puede ser útil para aplicaciones especializadas o escenarios muy particulares. MSDN (enlace anterior) tiene algunas pautas sobre estos asuntos.