STAThreadAttribute (Clase)
TOC
Collapse the table of content
Expand the table of content

STAThreadAttribute (Clase)

Indica que el modelo de subprocesamiento COM de una aplicación es un apartamento de subproceso único (STA).

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

[AttributeUsageAttribute(AttributeTargets.Method)] 
[ComVisibleAttribute(true)] 
public sealed class STAThreadAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class STAThreadAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method) 
ComVisibleAttribute(true) 
public final class STAThreadAttribute extends Attribute

Aplique este atributo al método de punto de entrada (método Main() en C# y Visual Basic). No tiene ningún efecto en otros métodos. Para establecer el estado de tipo apartamento de los subprocesos que se inician en el código, utilice el método Thread.SetApartmentState antes de iniciar el subproceso.

NotaNota

En las versiones 1.0 y 1.1 de .NET Framework, establezca la propiedad Thread.ApartmentState antes de iniciar el subproceso.

Los modelos de subprocesamiento COM sólo pertenecen a las aplicaciones que utilizan la interoperabilidad COM. El uso de este atributo en una aplicación que no utilice la interoperabilidad COM no tendrá ningún efecto.

El modelo de subprocesamiento COM puede establecerse en apartamentos de subproceso único o en apartamentos multiproceso. El subproceso de la aplicación sólo se inicializa para interoperabilidad COM si realmente realiza alguna llamada a un componente COM. Si no se utiliza la interoperabilidad COM, el subproceso no se inicializa.

En las versiones 1.0 y 1.1 de .NET Framework, utilice este atributo en Main() en lugar de establecer la propiedad Thread.ApartmentState en la primera línea de código, para garantizar que el modelo de subprocesamiento queda establecido antes de que se ejecute un código de inicio.

NotaImportante:

En la versión 2.0 de .NET Framework, los nuevos subprocesos se inicializan como ApartmentState.MTA si no se ha establecido su estado de tipo apartamento antes de que se inicien. El subproceso de la aplicación principal se inicializa de forma predeterminada en ApartmentState.MTA. Ya no es posible establecer el subproceso de la aplicación principal en ApartmentState.STA estableciendo la propiedad Thread.ApartmentState en la primera línea de código. En su lugar, utilice STAThreadAttribute.

En la versión 2.0 de .NET Framework, también puede especificar el modelo de subprocesamiento de COM para una aplicación de C++ utilizando la opción del vinculador /CLRTHREADATTRIBUTE (Establecer el atributo de subproceso de CLR).

Las aplicaciones ASP.NET deben establecer el atributo ASPCompat de la directiva @ Page en true para obligar a que el grupo de subprocesos STA sea el responsable de dar servicio a la página.

System.Object
   System.Attribute
    System.STAThreadAttribute

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.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft