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 .
Дополнительные сведения о отражении и прозрачности см. в разделе Рекомендации по безопасности для отражения. Сведения о прозрачности см. в разделе Изменения в системе безопасности.