AppDomain Clase
TOC
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

AppDomain (Clase)

 

Representa un dominio de aplicación, que es un entorno aislado donde se ejecutan las aplicaciones. Esta clase no puede heredarse.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)


[ClassInterfaceAttribute(ClassInterfaceType::None)]
[ComVisibleAttribute(true)]
public ref class AppDomain sealed : MarshalByRefObject, _AppDomain, 
	IEvidenceFactory

NombreDescripción
System_CAPS_pubpropertyActivationContext

Obtiene el contexto de activación para el dominio de aplicación actual.

System_CAPS_pubpropertyApplicationIdentity

Obtiene la identidad de la aplicación en el dominio de aplicación.

System_CAPS_pubpropertyApplicationTrust

Obtiene información que describe los permisos concedidos a una aplicación y si la aplicación tiene un nivel de confianza que le permita ejecutarse.

System_CAPS_pubpropertyBaseDirectory

Obtiene el directorio base que la resolución de ensamblado usa para buscar ensamblados.

System_CAPS_pubpropertySystem_CAPS_staticCurrentDomain

Obtiene el actual dominio de aplicación del actual Thread.

System_CAPS_pubpropertyDomainManager

Obtiene el administrador de dominio que ha proporcionado el host al inicializar el dominio de aplicación.

System_CAPS_pubpropertyDynamicDirectory

Obtiene el directorio que la resolución de ensamblado usa para buscar ensamblados creados de forma dinámica.

System_CAPS_pubpropertyEvidence

Obtiene el objeto Evidence asociado a este dominio de aplicación.

System_CAPS_pubpropertyFriendlyName

Obtiene el nombre descriptivo de este dominio de aplicación.

System_CAPS_pubpropertyId

Obtiene un entero que identifica únicamente el dominio de aplicación en el proceso.

System_CAPS_pubpropertyIsFullyTrusted

Obtiene un valor que indica si los ensamblados que se cargan en el dominio de aplicación actual se ejecutan con plena confianza.

System_CAPS_pubpropertyIsHomogenous

Obtiene un valor que indica si el dominio de aplicación actual tiene un conjunto de permisos concedido a todos los ensamblados que se cargan en el dominio de aplicación.

System_CAPS_pubpropertySystem_CAPS_staticMonitoringIsEnabled

Obtiene o establece un valor que indica si la supervisión de la CPU y de la memoria del dominio de aplicación está habilitada para el proceso actual. Una vez que se habilita la supervisión para un proceso, no se puede deshabilitar.

System_CAPS_pubpropertyMonitoringSurvivedMemorySize

Obtiene el número de bytes que sobrevivieron a la última recolección y a la que se sabe que hace referencia el dominio de aplicación actual.

System_CAPS_pubpropertySystem_CAPS_staticMonitoringSurvivedProcessMemorySize

Obtiene los bytes totales que sobrevivieron a la última recolección para todos los dominios de aplicación del proceso.

System_CAPS_pubpropertyMonitoringTotalAllocatedMemorySize

Obtiene el tamaño total, en bytes, de todas las asignaciones de memoria realizadas por el dominio de aplicación desde que se creó, sin restar la memoria recopilada.

System_CAPS_pubpropertyMonitoringTotalProcessorTime

Obtiene el tiempo total de procesador usado por todos los subprocesos mientras se ejecutaban en el dominio de aplicación actual, desde que el proceso se inició.

System_CAPS_pubpropertyPermissionSet

Obtiene el conjunto de permisos de un dominio de aplicación en un espacio aislado.

System_CAPS_pubpropertyRelativeSearchPath

Obtiene la ruta de acceso del directorio base en que la resolución de ensamblado debe buscar ensamblados privados.

System_CAPS_pubpropertySetupInformation

Obtiene la información de configuración del dominio de aplicación correspondiente a esta instancia.

System_CAPS_pubpropertyShadowCopyFiles

Obtiene una indicación si el dominio de aplicación se configura para archivos de instantánea.

NombreDescripción
System_CAPS_pubmethodAppendPrivatePath(String^)

Obsoleto.Anexa el nombre de directorio especificado a la lista de rutas de acceso privadas.

System_CAPS_pubmethodApplyPolicy(String^)

Devuelve el nombre para mostrar del ensamblado después de aplicar la directiva.

System_CAPS_pubmethodClearPrivatePath()

Obsoleto.Restablece la ruta de acceso que especifica la ubicación de ensamblados privados en la cadena vacía ("").

System_CAPS_pubmethodClearShadowCopyPath()

Obsoleto.Restablece la lista de directorios que contienen instantáneas de ensamblados en la cadena vacía ("").

System_CAPS_pubmethodCreateComInstanceFrom(String^, String^)

Crea una nueva instancia de un tipo COM especificado. Los parámetros especifican el nombre de un archivo que contiene un ensamblado con el tipo y el nombre del tipo.

System_CAPS_pubmethodCreateComInstanceFrom(String^, String^, array<Byte>^, AssemblyHashAlgorithm)

Crea una nueva instancia de un tipo COM especificado. Los parámetros especifican el nombre de un archivo que contiene un ensamblado con el tipo y el nombre del tipo.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^)

Crea un nuevo dominio de aplicación con el nombre especificado.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^, Evidence^)

Crea un nuevo dominio de aplicación con el nombre especificado mediante la evidencia proporcionada.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^, Evidence^, AppDomainSetup^)

Crea un nuevo dominio de aplicación con el nombre especificado, la evidencia indicada y la correspondiente información de configuración.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^, Evidence^, AppDomainSetup^, PermissionSet^, array<StrongName^>^)

Crea un nuevo dominio de aplicación usando el nombre, la evidencia, la información de configuración del dominio de aplicación, el conjunto predeterminado de permisos y la matriz de ensamblados de plena confianza que se hayan especificado.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^, Evidence^, String^, String^, Boolean)

Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación.

System_CAPS_pubmethodSystem_CAPS_staticCreateDomain(String^, Evidence^, String^, String^, Boolean, AppDomainInitializer^, array<String^>^)

Crea un nuevo dominio de aplicación con el nombre especificado usando la evidencia, la ruta de acceso base de la aplicación, la ruta de búsqueda relativa y un parámetro que especifica si debe cargarse una instantánea de un ensamblado en el dominio de aplicación. Especifica un método de devolución de llamada que se invoca cuando se inicializa el dominio de aplicación, así como una matriz de argumentos de cadena para pasar al método de devolución de llamada.

System_CAPS_pubmethodCreateInstance(String^, String^)

Crea una nueva instancia del tipo especificado definido en el ensamblado especificado.

System_CAPS_pubmethodCreateInstance(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el ensamblado especificado. Los parámetros especifican un enlazador, marcas de enlace, argumentos de constructor, información específica de la referencia cultural usada para interpretar argumentos y atributos de activación opcionales.

System_CAPS_pubmethodCreateInstance(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^, Evidence^)

Obsoleto.Crea una nueva instancia del tipo especificado definido en el ensamblado especificado. Los parámetros establecen un enlazador, marcas de enlace, argumentos de constructor, información específica de la referencia cultural usada para interpretar argumentos, atributos de activación y autorización para crear el tipo.

System_CAPS_pubmethodCreateInstance(String^, String^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el ensamblado especificado. Un parámetro especifica una matriz de atributos de activación.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String^, String^)

Crea una nueva instancia del tipo especificado. Los parámetros especifican el ensamblado en el que se definen el tipo y el nombre del tipo.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el ensamblado indicado, especificando si se pasa por alto el modelo de mayúsculas y minúsculas del nombre de tipo, los atributos de enlace y el enlazador que se usan para seleccionar el tipo que se va a crear, los argumentos del constructor, la referencia cultural y los atributos de activación.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^, Evidence^)

Obsoleto.Crea una nueva instancia del tipo especificado. Los parámetros especifican el nombre del tipo, así como la forma en que se encontró y se creó.

System_CAPS_pubmethodCreateInstanceAndUnwrap(String^, String^, array<Object^>^)

Crea una nueva instancia del tipo especificado. Los parámetros especifican el ensamblado en el que se definen el tipo, el nombre del tipo y una matriz de atributos de activación.

System_CAPS_pubmethodCreateInstanceFrom(String^, String^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFrom(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFrom(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^, Evidence^)

Obsoleto.Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFrom(String^, String^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String^, String^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado indicado, especificando si se pasa por alto el modelo de mayúsculas y minúsculas del nombre de tipo, los atributos de enlace y el enlazador que se usan para seleccionar el tipo que se va a crear, los argumentos del constructor, la referencia cultural y los atributos de activación.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String^, String^, Boolean, BindingFlags, Binder^, array<Object^>^, CultureInfo^, array<Object^>^, Evidence^)

Obsoleto.Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateInstanceFromAndUnwrap(String^, String^, array<Object^>^)

Crea una nueva instancia del tipo especificado definido en el archivo de ensamblado especificado.

System_CAPS_pubmethodCreateObjRef(Type^)

Crea un objeto que contiene toda la información pertinente necesaria para generar a un proxy utilizado para comunicarse con un objeto remoto.(Heredado de MarshalByRefObject.)

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess)

Define un ensamblado dinámico con el nombre y modo de acceso especificados.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, Evidence^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso y la evidencia.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, Evidence^, PermissionSet^, PermissionSet^, PermissionSet^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso, la evidencia y las solicitudes de permiso.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder^>^)

Define un ensamblado dinámico con el nombre especificado, el modo de acceso y los atributos personalizados.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder^>^, SecurityContextSource)

Define un ensamblado dinámico con el nombre, el modo de acceso y los atributos personalizados especificados, y usando el origen indicado para su contexto de seguridad.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, PermissionSet^, PermissionSet^, PermissionSet^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso y las solicitudes de permiso.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^)

Define un ensamblado dinámico usando el nombre especificado, el modo de acceso y el directorio de almacenamiento.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, Boolean, IEnumerable<CustomAttributeBuilder^>^)

Define un ensamblado dinámico usando el nombre, el modo de acceso, el directorio de almacenamiento y la opción de sincronización especificados.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, Evidence^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso, el directorio de almacenamiento y la evidencia.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, Evidence^, PermissionSet^, PermissionSet^, PermissionSet^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso, el directorio de almacenamiento, la evidencia y las solicitudes de permiso.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, Evidence^, PermissionSet^, PermissionSet^, PermissionSet^, Boolean)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso, el directorio de almacenamiento, la evidencia, las solicitudes de permiso y la opción de sincronización.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, Evidence^, PermissionSet^, PermissionSet^, PermissionSet^, Boolean, IEnumerable<CustomAttributeBuilder^>^)

Obsoleto.Define un ensamblado dinámico con el nombre especificado, el modo de acceso, el directorio de almacenamiento, la evidencia, las solicitudes de permiso, la opción de sincronización y los atributos personalizados.

System_CAPS_pubmethodDefineDynamicAssembly(AssemblyName^, AssemblyBuilderAccess, String^, PermissionSet^, PermissionSet^, PermissionSet^)

Obsoleto.Define un ensamblado dinámico usando el nombre especificado, el modo de acceso, el directorio de almacenamiento y las solicitudes de permiso.

System_CAPS_pubmethodDoCallBack(CrossAppDomainDelegate^)

Ejecuta el código en otro dominio de aplicación identificado por el delegado especificado.

System_CAPS_pubmethodEquals(Object^)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object.)

System_CAPS_pubmethodExecuteAssembly(String^)

Ejecuta el ensamblado que contiene el archivo especificado.

System_CAPS_pubmethodExecuteAssembly(String^, Evidence^)

Obsoleto.Ejecuta el ensamblado que contiene el archivo especificado, usando la evidencia especificada.

System_CAPS_pubmethodExecuteAssembly(String^, Evidence^, array<String^>^)

Obsoleto.Ejecuta el ensamblado que contiene el archivo especificado, usando la evidencia y los argumentos especificados.

System_CAPS_pubmethodExecuteAssembly(String^, Evidence^, array<String^>^, array<Byte>^, AssemblyHashAlgorithm)

Obsoleto.Ejecuta el ensamblado contenido en el archivo especificado, usando la evidencia, los argumentos, el valor hash y el algoritmo hash especificados.

System_CAPS_pubmethodExecuteAssembly(String^, array<String^>^)

Ejecuta el ensamblado contenido en el archivo especificado, usando los argumentos especificados.

System_CAPS_pubmethodExecuteAssembly(String^, array<String^>^, array<Byte>^, AssemblyHashAlgorithm)

Ejecuta el ensamblado contenido en el archivo especificado, usando los argumentos, el valor hash y el algoritmo hash especificados.

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName^, Evidence^, array<String^>^)

Obsoleto.Ejecuta el ensamblado a partir de un objeto AssemblyName, usando la evidencia y los argumentos especificados.

System_CAPS_pubmethodExecuteAssemblyByName(AssemblyName^, array<String^>^)

Ejecuta el ensamblado a partir de un objeto AssemblyName, usando los argumentos especificados.

System_CAPS_pubmethodExecuteAssemblyByName(String^)

Ejecuta un ensamblado a partir de su nombre para mostrar.

System_CAPS_pubmethodExecuteAssemblyByName(String^, Evidence^)

Obsoleto.Ejecuta un ensamblado a partir de su nombre para mostrar, usando la evidencia especificada.

System_CAPS_pubmethodExecuteAssemblyByName(String^, Evidence^, array<String^>^)

Obsoleto.Ejecuta el ensamblado a partir de su nombre para mostrar, usando la evidencia y argumentos especificados.

System_CAPS_pubmethodExecuteAssemblyByName(String^, array<String^>^)

Ejecuta el ensamblado a partir de su nombre para mostrar, usando los argumentos especificados.

System_CAPS_pubmethodGetAssemblies()

Obtiene los ensamblados que se han cargado en el contexto de ejecución de este dominio de aplicación.

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentThreadId()

Obsoleto.Obtiene el identificador del subproceso actual.

System_CAPS_pubmethodGetData(String^)

Obtiene el valor almacenado en el dominio de aplicación actual para el nombre especificado.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object.)

System_CAPS_pubmethodGetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.(Heredado de MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Obtiene el tipo de la instancia actual.

System_CAPS_pubmethodInitializeLifetimeService()

Concede al AppDomain una duración infinita, ya que impide que se genere una concesión.(Reemplaza a MarshalByRefObject::InitializeLifetimeService()).

System_CAPS_pubmethodIsCompatibilitySwitchSet(String^)

Obtiene un valor booleano que acepta valores NULL que indica si se ha establecido algún modificador de compatibilidad y, en ese caso, si se ha establecido el modificador de compatibilidad especificado.

System_CAPS_pubmethodIsDefaultAppDomain()

Devuelve un valor que indica si el dominio de aplicación es el dominio de aplicación predeterminado para el proceso.

System_CAPS_pubmethodIsFinalizingForUnload()

Indica si se está descargando este dominio de aplicación y si Common Language Runtime está finalizando los objetos que contiene.

System_CAPS_pubmethodLoad(AssemblyName^)

Carga un Assembly a partir de su AssemblyName.

System_CAPS_pubmethodLoad(AssemblyName^, Evidence^)

Obsoleto.Carga un Assembly a partir de su AssemblyName.

System_CAPS_pubmethodLoad(array<Byte>^)

Carga el Assembly con una imagen basada en el formato COFF (Common Object File Format) que contiene un Assembly emitido.

System_CAPS_pubmethodLoad(array<Byte>^, array<Byte>^)

Carga el Assembly con una imagen basada en el formato COFF (Common Object File Format) que contiene un Assembly emitido. También se cargan los bytes sin formato que representan los símbolos del Assembly.

System_CAPS_pubmethodLoad(array<Byte>^, array<Byte>^, Evidence^)

Obsoleto.Carga el Assembly con una imagen basada en el formato COFF (Common Object File Format) que contiene un Assembly emitido. También se cargan los bytes sin formato que representan los símbolos del Assembly.

System_CAPS_pubmethodLoad(String^)

Carga un Assembly a partir de su nombre de presentación.

System_CAPS_pubmethodLoad(String^, Evidence^)

Obsoleto.Carga un Assembly a partir de su nombre de presentación.

System_CAPS_pubmethodReflectionOnlyGetAssemblies()

Devuelve los ensamblados que se han cargado en el contexto de solo reflexión del dominio de aplicación.

System_CAPS_pubmethodSetAppDomainPolicy(PolicyLevel^)

Obsoleto.Establece el nivel de directiva de seguridad para este dominio de aplicación.

System_CAPS_pubmethodSetCachePath(String^)

Obsoleto.Establece la ruta de acceso al directorio especificado como la ubicación donde se almacenan las instantáneas de los ensamblados.

System_CAPS_pubmethodSetData(String^, Object^)

Asigna el valor especificado a la propiedad especificada del dominio de aplicación.

System_CAPS_pubmethodSetData(String^, Object^, IPermission^)

Asigna el valor especificado a la propiedad de dominio de aplicación indicada, con un permiso especificado que se exige al llamador cuando se recupera la propiedad.

System_CAPS_pubmethodSetDynamicBase(String^)

Obsoleto.Establece la ruta de acceso al directorio especificado como directorio base de los subdirectorios donde se almacenan los archivos generados de forma dinámica y se obtiene acceso a ellos.

System_CAPS_pubmethodSetPrincipalPolicy(PrincipalPolicy)

Especifica la forma en que los objetos principales y de identidad deben asociarse a un subproceso si éste intenta enlazarse a un principal mientas se ejecuta en este dominio de aplicación.

System_CAPS_pubmethodSetShadowCopyFiles()

Obsoleto.Activa la creación de instantáneas.

System_CAPS_pubmethodSetShadowCopyPath(String^)

Obsoleto.Establece la ruta de acceso al directorio especificado como la ubicación de las instantáneas de los ensamblados.

System_CAPS_pubmethodSetThreadPrincipal(IPrincipal^)

Establece el objeto principal predeterminado que se va a asociar a los subprocesos si éstos intentan enlazarse a un principal mientras se ejecutan en este dominio de aplicación.

System_CAPS_pubmethodToString()

Obtiene una representación en forma de cadena que incluye el nombre descriptivo del dominio de aplicación y cualquier directiva del contexto.(Reemplaza a Object::ToString()).

System_CAPS_pubmethodSystem_CAPS_staticUnload(AppDomain^)

Descarga el dominio de aplicación especificado.

NombreDescripción
System_CAPS_pubeventAssemblyLoad

Se produce cuando se carga un ensamblado.

System_CAPS_pubeventAssemblyResolve

Se produce cuando la resolución de un ensamblado produce errores.

System_CAPS_pubeventDomainUnload

Se produce cuando un AppDomain está a punto de descargarse.

System_CAPS_pubeventFirstChanceException

Ocurre cuando se produce una excepción en código administrado, antes de que el runtime busque un controlador de excepciones en la pila de llamadas del dominio de aplicación.

System_CAPS_pubeventProcessExit

Se produce al salir del proceso primario del dominio de aplicación predeterminado.

System_CAPS_pubeventReflectionOnlyAssemblyResolve

Aparece cuando se produce un error en la resolución de un ensamblado en el contexto de solo reflexión.

System_CAPS_pubeventResourceResolve

Aparece cuando se produce un error en la resolución de un recurso porque éste no es un recurso vinculado válido o incrustado en el ensamblado.

System_CAPS_pubeventTypeResolve

Se produce cuando la resolución de un tipo produce errores.

System_CAPS_pubeventUnhandledException

Se produce cuando no se detecta una excepción.

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain::GetIDsOfNames(Guid%, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain::GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera la información de tipo de un objeto, que se puede usar después para obtener la información de tipo de una interfaz.

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain::GetTypeInfoCount(UInt32%)

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_AppDomain::Invoke(UInt32, Guid%, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

Dominios de aplicación, que están representados por AppDomain objetos, ayudan a proporcionar aislamiento, descarga y límites de seguridad para ejecutar el código administrado.

  • Utilizar dominios de aplicación para aislar tareas que podrían acabar con un proceso. Si el estado de la AppDomain que está ejecutando una tarea se vuelve inestable, el AppDomain se puede descargar sin afectar al proceso. Esto es importante cuando un proceso debe ejecutarse durante largos períodos sin reiniciar. También puede utilizar dominios de aplicación para aislar tareas que no deberían compartir datos.

  • Si un ensamblado se carga en el dominio de aplicación predeterminado, no se puede descargar de la memoria mientras se ejecuta el proceso. Sin embargo, si abre un segundo dominio de aplicación para cargar y ejecutar el ensamblado, el ensamblado se descarga cuando se descarga ese dominio de aplicación. Utilice esta técnica para minimizar el espacio de trabajo de procesos de larga ejecución que en ocasiones utilizan grandes archivos DLL.

Pueden ejecutar varios dominios de aplicación en un único proceso; Sin embargo, no hay una correlación uno a uno entre los dominios de aplicación y subprocesos. Varios subprocesos pueden pertenecer a un único dominio de aplicación y, mientras que un subproceso determinado no se limita a un único dominio de aplicación, en un momento dado, un subproceso se ejecuta en un único dominio de aplicación.

Dominios de aplicación se crean mediante el CreateDomain método. AppDomain instancias se utilizan para cargar y ejecutar ensamblados (Assembly). Cuando un AppDomain es ya no está en uso, se puede descargar.

La AppDomain clase implementa un conjunto de eventos que las aplicaciones puedan responder cuando se cargue un ensamblado al que se va a descargar un dominio de aplicación, o cuando se produce una excepción no controlada.

Para obtener más información sobre el uso de dominios de aplicación, consulte Dominios de aplicación.

Esta clase implementa la MarshalByRefObject, _AppDomain, y IEvidenceFactory interfaces.

Nunca se debe crear un contenedor utilizable de forma remota para un AppDomain objeto. Hacerlo podría publicar una referencia remota a la que AppDomain, exponer los métodos como CreateInstance para acceso remoto y destruyendo la seguridad de acceso del código para que AppDomain. Los clientes malintencionados conectarse para el acceso remoto AppDomain se puede obtener acceso a cualquier recurso de la AppDomain tiene acceso a. No cree contenedores utilizables de forma remota para cualquier tipo que extiende MarshalByRefObject y que implemente métodos que podrían ser usadas por los clientes malintencionados para omitir el sistema de seguridad.

System_CAPS_cautionPrecaución

El valor predeterminado para el AppDomainSetup::DisallowCodeDownload propiedad es false. Esta configuración es segura para los servicios. Para evitar que los servicios descarguen código de confianza parcial, establezca esta propiedad en true.

Este ejemplo muestra cómo crear un nuevo AppDomain, cree una instancia de un tipo que nuevos AppDomain, y comunicarse con el objeto de ese tipo. Además, este ejemplo muestra cómo descargar el AppDomain causando el objeto sea recolectado.

using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::Security::Policy;

// Because this class is derived from MarshalByRefObject, a proxy 
// to a MarshalByRefType object can be returned across an AppDomain 
// boundary.
ref class MarshalByRefType : MarshalByRefObject
{
public:
    //  Call this method via a proxy.
    void SomeMethod(String^ callingDomainName)
    {
        // Get this AppDomain's settings and display some of them.
        AppDomainSetup^ ads = AppDomain::CurrentDomain->SetupInformation;
        Console::WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", 
            ads->ApplicationName, 
            ads->ApplicationBase, 
            ads->ConfigurationFile
        );

        // Display the name of the calling AppDomain and the name 
        // of the second domain.
        // NOTE: The application's thread has transitioned between 
        // AppDomains.
        Console::WriteLine("Calling from '{0}' to '{1}'.", 
            callingDomainName, 
            Thread::GetDomain()->FriendlyName
        );
    };
};

void main()
{
    // Get and display the friendly name of the default AppDomain.
    String^ callingDomainName = Thread::GetDomain()->FriendlyName;
    Console::WriteLine(callingDomainName);

    // Get and display the full name of the EXE assembly.
    String^ exeAssembly = Assembly::GetEntryAssembly()->FullName;
    Console::WriteLine(exeAssembly);

    // Construct and initialize settings for a second AppDomain.
    AppDomainSetup^ ads = gcnew AppDomainSetup();
    ads->ApplicationBase = AppDomain::CurrentDomain->BaseDirectory;

    ads->DisallowBindingRedirects = false;
    ads->DisallowCodeDownload = true;
    ads->ConfigurationFile = 
        AppDomain::CurrentDomain->SetupInformation->ConfigurationFile;

    // Create the second AppDomain.
    AppDomain^ ad2 = AppDomain::CreateDomain("AD #2", 
        AppDomain::CurrentDomain->Evidence, ads);

    // Create an instance of MarshalbyRefType in the second AppDomain. 
    // A proxy to the object is returned.
    MarshalByRefType^ mbrt = 
        (MarshalByRefType^) ad2->CreateInstanceAndUnwrap(
            exeAssembly, 
            MarshalByRefType::typeid->FullName
        );

    // Call a method on the object via the proxy, passing the 
    // default AppDomain's friendly name in as a parameter.
    mbrt->SomeMethod(callingDomainName);

    // Unload the second AppDomain. This deletes its object and 
    // invalidates the proxy object.
    AppDomain::Unload(ad2);
    try
    {
        // Call the method again. Note that this time it fails 
        // because the second AppDomain was unloaded.
        mbrt->SomeMethod(callingDomainName);
        Console::WriteLine("Sucessful call.");
    }
    catch(AppDomainUnloadedException^)
    {
        Console::WriteLine("Failed call; this is expected.");
    }
}

/* This code produces output similar to the following: 

AppDomainX.exe
AppDomainX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
AppName=, AppBase=C:\AppDomain\bin, ConfigFile=C:\AppDomain\bin\AppDomainX.exe.config
Calling from 'AppDomainX.exe' to 'AD #2'.
Failed call; this is expected.
 */

.NET Framework
Disponible desde 1.1
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Volver al principio
Mostrar:
© 2016 Microsoft