Esporta (0) Stampa
Espandi tutto

Classe STAThreadAttribute

Aggiornamento: novembre 2007

Indica che il modello di COM predefinito per un'applicazione è di tipo apartment con thread singolo (STA, Single-Threaded Apartment).

Spazio dei nomi:  System
Assembly:  mscorlib (in 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
public final class STAThreadAttribute extends Attribute

Applicare questo attributo al metodo del punto di ingresso (il metodo Main() in C# e Visual Basic). Non ha effetto sugli altri metodi. Per impostare lo stato Apartment dei thread avviati nel codice, utilizzare il metodo Thread.SetApartmentState prima di avviare il thread.

71tx0eb5.alert_note(it-it,VS.90).gifNota:

In .NET Framework versioni 1.0 e 1.1 impostare la proprietà Thread.ApartmentState prima di avviare il thread.

I modelli di threading COM riguardano soltanto applicazioni in cui si utilizza l'interoperabilità COM. L'utilizzo di questo attributo in applicazioni in cui l'interoperabilità COM non è utilizzata non ha alcun effetto.

È possibile impostare il modello di threading COM come apartment con thread singolo o come apartment con multithreading. Il thread dell'applicazione viene inizializzato per l'interoperabilità COM solo se il thread esegue effettivamente una chiamata a un componente COM. Se l'interoperabilità COM non viene utilizzata, il thread non verrà inizializzato.

In .NET Framework versioni 1.0 e 1.1 utilizzare questo attributo su Main() anziché impostare la proprietà Thread.ApartmentState nella prima riga di codice per assicurarsi che il modello di threading sia impostato prima dell'esecuzione di codice di avvio.

71tx0eb5.alert_caution(it-it,VS.90).gifNota importante:

In .NET Framework versione 2.0 i nuovi thread vengono inizializzati come ApartmentState.MTA se il relativo stato Apartment non è stato impostato prima dell'avvio. Il thread dell'applicazione principale viene inizializzato su ApartmentState.MTA per impostazione predefinita. Non è più possibile impostare il thread dell'applicazione principale su ApartmentState.STA impostando la proprietà Thread.ApartmentState nella prima riga di codice. Utilizzare invece la proprietà STAThreadAttribute.

In .NET Framework versione 2.0 è inoltre possibile specificare il modello di threading COM per un'applicazione C++ utilizzando l'opzione del linker /CLRTHREADATTRIBUTE (Imposta l'attributo thread CLR).

Nelle applicazioni ASP.NET l'attributo ASPCompat della direttiva @ Page deve essere impostato su true per imporre che la pagina venga servita dal pool di thread STA.

System.Object
  System.Attribute
    System.STAThreadAttribute

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

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

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft