Elemento <legacyImpersonationPolicy>
Aggiornamento: novembre 2007
Specifica che il flusso dell'identità Windows non passa attraverso punti asincroni, indipendentemente dalle impostazioni di flusso per il contesto di esecuzione nel thread corrente.
Elemento <Configuration>
Elemento <runtime>
Elemento <legacyImpersonationPolicy>
<legacyImpersonationPolicy
enabled="true|false"/>
Attributi ed elementi
Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio e padre.
Attributi
Attributo |
Descrizione |
---|---|
enabled |
Attributo obbligatorio. Specifica che WindowsIdentity non passa attraverso punti asincroni, indipendentemente dalle impostazioni di flusso di ExecutionContext nel thread corrente. |
Attributo enabled
Valore |
Descrizione |
---|---|
false |
WindowsIdentity passa attraverso punti asincroni a seconda delle impostazioni di flusso di ExecutionContext per il thread corrente. Questa è l'impostazione predefinita. |
true |
WindowsIdentity non passa attraverso punti asincroni, indipendentemente dalle impostazioni di flusso di ExecutionContext nel thread corrente. |
Elementi figlio
Nessuno.
Elementi padre
Elemento |
Descrizione |
---|---|
configuration |
È l'elemento di primo livello in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework. |
runtime |
Contiene le informazioni sull'associazione degli assembly e la Garbage Collection. |
Note
In .NET Framework versione 1.0 e 1.1 WindowsIdentity non passa attraverso punti asincroni definiti dall'utente. In .NET Framework versione 2.0 è disponibile un oggetto ExecutionContext contenente informazioni sul thread attualmente in esecuzione e che consente il passaggio del flusso attraverso punti asincroni all'interno di un dominio applicazione. Anche l'oggetto WindowsIdentity è incluso nel flusso delle informazioni che passano attraverso i punti asincroni, pertanto il flusso includerà anche un eventuale contesto di rappresentazione esistente. Questo elemento viene utilizzato per specificare che l'oggetto WindowsIdentity non passa attraverso punti asincroni.
Nota
Common Language Runtime (CLR) supporta le operazioni di rappresentazione eseguite utilizzando solo codice gestito e non quelle eseguite al di fuori del codice gestito, ad esempio le operazioni tramite pInvoke al codice non gestito o tramite chiamate dirette alle funzioni Win32. Solo gli oggetti WindowsIdentity gestiti possono attraversare i punti asincroni, a meno che l'elemento alwaysFlowImpersonationPolicy non sia stato impostato su true (<alwaysFlowImpersonationPolicy enabled="true"/>). L'impostazione dell'elemento alwaysFlowImpersonationPolicy su true specifica che il flusso dell'identità Windows passa sempre attraverso punti asincroni, indipendentemente dal modo in cui è stata ottenuta la rappresentazione. Per ulteriori informazioni sul flusso della rappresentazione non gestita attraverso punti asincroni, vedere Elemento <alwaysFlowImpersonationPolicy>.
L'elemento può essere utilizzato esclusivamente nel file di configurazione dell'applicazione.
È possibile modificare questo comportamento predefinito in due diversi modi:
Nel codice gestito in base ai singoli thread.
Per sopprimere il flusso in base al singolo thread, modificare le impostazioni ExecutionContext e SecurityContext utilizzando il metodo ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity o SecurityContext.SuppressFlow.
Nella chiamata all'interfaccia di hosting non gestita per il caricamento di CLR (Common Language Runtime).
Se per il caricamento di CLR viene utilizzata un'interfaccia di hosting non gestita, anziché un semplice eseguibile gestito, è possibile specificare uno speciale flag nella chiamata alla funzione Funzione CorBindToRuntimeEx. Per attivare la modalità di compatibilità per l'intero processo, impostare su STARTUP_LEGACY_IMPERSONATION il parametro flags per Funzione CorBindToRuntimeEx.
Esempio
Nell'esempio riportato di seguito viene illustrato come specificare il comportamento preesistente che non consente il passaggio del flusso dell'identità Windows attraverso punti asincroni.
<configuration>
<runtime>
<legacyImpersonationPolicy enabled="true"/>
</runtime>
</configuration>
Vedere anche
Riferimenti
Schema delle impostazioni dell'ambiente di esecuzione