Partilhar via


<alwaysFlowImpersonationPolicy Element (Elemento alwaysFlowImpersonationPolicy> )

Especifica que a identidade do Windows flui sempre em pontos assíncronos, independentemente da forma como a representação foi executada.

<configuração>
  <runtime>
    <alwaysFlowImpersonationPolicy>

Syntax

<alwaysFlowImpersonationPolicy
  enabled="true|false"/>  

Atributos e Elementos

As secções seguintes descrevem atributos, elementos subordinados e elementos principais.

Atributos

Atributo Descrição
enabled Atributo obrigatório.

Indica se a identidade do Windows flui através de pontos assíncronos.

Atributo ativado

Valor Descrição
false A identidade do Windows não flui através de pontos assíncronos, a menos que a representação seja efetuada através de métodos geridos, como Impersonate. Esta é a predefinição.
true A identidade do Windows flui sempre em pontos assíncronos, independentemente da forma como a representação foi executada.

Elementos Subordinados

Nenhum.

Elementos Principais

Elemento Descrição
configuration O elemento raiz em todos os ficheiros de configuração utilizados pelo runtime de idioma comum e .NET Framework aplicações.
runtime Contém informações sobre o enlace de montagem e a recolha de lixo.

Observações

No .NET Framework versões 1.0 e 1.1, a identidade do Windows não flui através de pontos assíncronos. No .NET Framework versão 2.0, existe um ExecutionContext objeto que contém informações sobre o thread atualmente em execução e o flui através de pontos assíncronos dentro de um domínio de aplicação. O WindowsIdentity também flui como parte das informações que fluem através dos pontos assíncronos, desde que a representação tenha sido obtida através de métodos geridos, como Impersonate e não através de outros meios, como a invocação da plataforma para métodos nativos. Este elemento é utilizado para especificar que a identidade do Windows flui através de pontos assíncronos, independentemente da forma como a representação foi alcançada.

Pode alterar este comportamento predefinido de duas outras formas:

  1. No código gerido por thread.

    Pode suprimir o fluxo por thread ao modificar as ExecutionContext definições e SecurityContext com o ExecutionContext.SuppressFlowmétodo , SecurityContext.SuppressFlowWindowsIdentityou SecurityContext.SuppressFlow .

  2. Na chamada para a interface de alojamento não gerida para carregar o runtime de idioma comum (CLR).

    Se for utilizada uma interface de alojamento não gerida (em vez de um executável gerido simples) para carregar o CLR, pode especificar um sinalizador especial na chamada para a função CorBindToRuntimeEx Function . Para ativar o modo de compatibilidade para todo o processo, defina o flags parâmetro para a Função CorBindToRuntimeEx como STARTUP_ALWAYSFLOW_IMPERSONATION.

Ficheiro de Configuração

Numa aplicação .NET Framework, este elemento só pode ser utilizado no ficheiro de configuração da aplicação.

Para uma aplicação ASP.NET, o fluxo de representação pode ser configurado no ficheiro aspnet.config encontrado no diretório Pastas> do <Windows\Microsoft.NET\Framework\vx.x.xxxx.

ASP.NET, por predefinição, desativa o fluxo de representação no ficheiro de aspnet.config com as seguintes definições de configuração:

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

Em ASP.NET, se quiser permitir o fluxo de representação, tem de utilizar explicitamente as seguintes definições de configuração:

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

Exemplo

O exemplo seguinte mostra como especificar que a identidade do Windows flui através de pontos assíncronos, mesmo quando a representação é obtida através de meios diferentes dos métodos geridos.

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

Ver também