<elemento alwaysFlowImpersonationPolicy>

Specifica che l'identità di Windows passa sempre attraverso punti asincroni, indipendentemente dalla modalità di rappresentazione.

<Configurazione>
  <Runtime>
    <alwaysFlowImpersonationPolicy>

Sintassi

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
enabled Attributo obbligatorio.

Indica se l'identità di Windows scorre in punti asincroni.

Attributo enabled

Valore Descrizione
false L'identità di Windows non scorre tra punti asincroni, a meno che la rappresentazione non venga eseguita tramite metodi gestiti, ad esempio Impersonate. Questo è il valore predefinito.
true L'identità di Windows scorre sempre tra punti asincroni, indipendentemente dalla modalità di rappresentazione eseguita.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
configuration Elemento radice in ciascun file di configurazione usato in Common Language Runtime e nelle applicazioni .NET Framework.
runtime Contiene informazioni sull'associazione degli assembly e sull'operazione di Garbage Collection.

Commenti

In .NET Framework versioni 1.0 e 1.1, l'identità di Windows non scorre tra punti asincroni. In .NET Framework versione 2.0 è presente un ExecutionContext oggetto che contiene informazioni sul thread attualmente in esecuzione e lo scorre tra punti asincroni all'interno di un dominio applicazione. I WindowsIdentity flussi anche come parte delle informazioni che passano attraverso i punti asincroni, a condizione che la rappresentazione sia stata ottenuta usando metodi gestiti come e non tramite altri mezzi, ad esempio Impersonate la piattaforma richiama ai metodi nativi. Questo elemento viene usato per specificare che l'identità di Windows scorre in punti asincroni, indipendentemente dal modo in cui è stata ottenuta la rappresentazione.

È possibile modificare questo comportamento predefinito in due modi diversi:

  1. Nel codice gestito in base al thread.

    È possibile eliminare il flusso in base a thread modificando le ExecutionContext impostazioni e SecurityContext usando il ExecutionContext.SuppressFlowmetodo , SecurityContext.SuppressFlowWindowsIdentityo SecurityContext.SuppressFlow .

  2. Nella chiamata all'interfaccia di hosting non gestita per caricare Common Language Runtime (CLR).

    Se viene usata un'interfaccia di hosting non gestita anziché un semplice eseguibile gestito, è possibile specificare un flag speciale nella chiamata alla funzione Funzione CorBindToRuntimeEx . Per abilitare la modalità di compatibilità per l'intero processo, impostare il flags parametro per la funzione CorBindToRuntimeEx su STARTUP_ALWAYSFLOW_IMPERSONATION.

File di configurazione

In un'applicazione .NET Framework questo elemento può essere usato solo nel file di configurazione dell'applicazione.

Per un'applicazione ASP.NET, il flusso di rappresentazione può essere configurato nel file aspnet.config trovato nella <directory Windows Folder>\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET per impostazione predefinita disabilita il flusso di rappresentazione nel file aspnet.config usando le impostazioni di configurazione seguenti:

<configuration>  
   <runtime>  
      <legacyImpersonationPolicy enabled="true"/>  
      <alwaysFlowImpersonationPolicy enabled="false"/>  
   </runtime>  
</configuration>  

In ASP.NET, se si vuole consentire il flusso di rappresentazione, è necessario usare in modo esplicito le impostazioni di configurazione seguenti:

<configuration>  
   <runtime>  
      <legacyImpersonationPolicy enabled="false"/>  
      <alwaysFlowImpersonationPolicy enabled="true"/>  
   </runtime>  
</configuration>  

Esempio

Nell'esempio seguente viene illustrato come specificare che l'identità di Windows scorre in punti asincroni, anche quando la rappresentazione viene ottenuta tramite mezzi diversi dai metodi gestiti.

<configuration>  
  <runtime>  
    <alwaysFlowImpersonationPolicy enabled="true"/>  
  </runtime>  
</configuration>  

Vedi anche