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


Элемент <alwaysFlowImpersonationPolicy>

Обновлен: Ноябрь 2007

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

Элемент <configuration>
  Элемент <runtime>
    Элемент <alwaysFlowImpersonationPolicy>

<alwaysFlowImpersonationPolicy  
  enabled="true|false"/>

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

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

Атрибуты

Атрибут

Описание

enabled

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

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

Включенный атрибут.

Значение

Описание

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