Dominios de aplicación y subprocesos

Actualización: noviembre 2007

Un dominio de aplicación constituye un límite de aislamiento para la seguridad, el control de versiones, la confiabilidad y la descarga de código administrado. Los subprocesos son la herramienta del sistema operativo que utiliza Common Language Runtime para ejecutar código. En tiempo de ejecución, todo el código administrado se carga en un dominio de aplicación y se ejecuta mediante un subproceso administrado.

No existe una correlación uno a uno entre los dominios de aplicación y los subprocesos. En un momento dado, se pueden ejecutar varios subprocesos en un solo dominio de aplicación y un subproceso determinado no está confinado a un solo dominio de aplicación. En otras palabras, los subprocesos pueden cruzar los límites del dominio de aplicación; no se crea un nuevo subproceso para cada dominio de aplicación.

En un momento dado, todos los subprocesos se ejecutan en un dominio de aplicación. Cero, uno, o más de un subproceso podrían estar ejecutándose en cualquier dominio de aplicación determinado. En tiempo de ejecución, se realiza un seguimiento de qué subprocesos se están ejecutando en qué dominios de aplicación. Se puede localizar en cualquier momento el dominio donde se está ejecutando un subproceso llamando al método GetDomain.

Dominios de aplicación y referencias culturales

Se puede asociar un objeto CultureInfo a un subproceso. Sin embargo, para evitar que entre código malintencionado en otros dominios de aplicación, el objeto CultureInfo se establece automáticamente en sólo lectura cuando su subproceso cruza el límite del dominio de aplicación.

Si se ha personalizado el objeto CultureInfo, por ejemplo, con un Calendar personalizado, se genera una excepción InvalidOperationException cuando el subproceso intenta cruzar el límite del dominio de aplicación.

Vea también

Referencia

Thread.GetDomain

Otros recursos

Dominios de aplicación