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


Type.IsSecuritySafeCritical Свойство

Определение

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

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public virtual bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overridable ReadOnly Property IsSecuritySafeCritical As Boolean

Значение свойства

true Значение , если текущий тип является критически важным для безопасности на текущем уровне доверия; false значение , если оно является критически важным или прозрачным с точки зрения безопасности.

Комментарии

Свойства IsSecurityCritical, IsSecuritySafeCriticalи IsSecurityTransparent сообщают уровень прозрачности типа на текущем уровне доверия, который определяется средой CLR. Сочетания этих свойств приведены в следующей таблице:

Уровень безопасности IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Critical true false false
Безопасный критический true true false
Прозрачный false false true

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

Важно!

Для сборок с частичным доверием значение этого свойства зависит от текущего уровня доверия сборки. Если сборка загружается в домен приложения с частичным доверием (например, в домен изолированного приложения), среда выполнения игнорирует заметки безопасности сборки. Сборка и все ее типы обрабатываются как прозрачные. Среда выполнения обращает внимание на заметки безопасности сборки с частичным доверием, только если эта сборка загружается в домен приложения с полным доверием (например, в домен приложения по умолчанию классического приложения). Напротив, доверенная сборка (то есть сборка со строгим именем, установленная в глобальном кэше сборок) всегда загружается с полным доверием независимо от уровня доверия домена приложения, поэтому ее текущий уровень доверия всегда является полностью доверенным. Текущие уровни доверия для сборок и доменов приложений можно определить с помощью Assembly.IsFullyTrusted свойств и AppDomain.IsFullyTrusted .

Дополнительные сведения о отражении и прозрачности см. в разделе Рекомендации по безопасности для отражения. Сведения о прозрачности см. в разделе Изменения в системе безопасности.

Применяется к

См. также раздел