Поделиться через


Элемент <alwaysFlowImpersonationPolicy>

Указывает, что идентификация Windows всегда проходит через асинхронные точки, независимо от того, как было выполнено олицетворение.

<alwaysFlowImpersonationPolicy  
  enabled="true|false"/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

enabled

Обязательный атрибут.

Указывает, проходит ли идентификация Windows через асинхронные точки.

Атрибут enabled

Значение

Описание

false

Идентификация Windows не проходит через асинхронные точки, если олицетворение не выполняется управляемыми методами, такими как Impersonate. Это значение по умолчанию.

true

Идентификация Windows всегда проходит через асинхронные точки, независимо от того, как было выполнено олицетворение.

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент

Описание

configuration

Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями платформы .NET Framework.

runtime

Содержит сведения о привязке сборок и сборке мусора.

Заметки

В .NET Framework версии 1.0 и 1.1 идентификация Windows не проходит через асинхронные точки. В .NET Framework версии 2.0 существует объект ExecutionContext, содержащий информацию о текущем исполняемом потоке и проводящий его через асинхронные точки в домене приложения. WindowsIdentity проходит также в составе информации, проходящей через асинхронные точки, если олицетворение было произведено с использованием управляемых методов, таких как Impersonate, а не другими способами, например путем вызова неуправляемого кода встроенных методов. Этот элемент указывает, что идентификация Windows всегда проходит через асинхронные точки, независимо от того, как было выполнено олицетворение.

Это заданное по умолчанию поведение можно изменить двумя способами.

  1. В управляемом коде для каждого потока.

    Можно запретить прохождение для отдельного потока путем изменения значений ExecutionContext и SecurityContext, используя методы ExecutionContext.SuppressFlow, SecurityContext.SuppressFlowWindowsIdentity или SecurityContext.SuppressFlow.

  2. В вызове неуправляемого интерфейса размещения для загрузки среды CLR.

    Если для загрузки среды CLR используется неуправляемый интерфейс размещения (вместо простого управляемого исполняемого файла), можно указать специальный флаг вызова функции Функция CorBindToRuntimeEx. Чтобы включить режим совместимости для всего процесса, установите параметр flags для Функция CorBindToRuntimeEx равным STARTUP_ALWAYSFLOW_IMPERSONATION.

Файл конфигурации

Этот элемент может использоваться только в файле конфигурации приложения.

Пример

В следующем примере показывается, как задать прохождение идентификации Windows через асинхронные точки даже в том случае, если олицетворение производилось какими-либо иными способами, помимо управляемых методов.

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

См. также

Ссылки

Схема параметров среды выполнения

Элемент <legacyImpersonationPolicy>

Другие ресурсы

Схема файлов конфигурации для .NET Framework