MethodBase.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 |
|---|---|---|---|
| Критически важно | true |
false |
false |
| Безопасно-критический | true |
true |
false |
| Transparent | false |
false |
true |
Использование этих свойств гораздо проще, чем изучение заметок безопасности сборки и его типов и членов, проверки текущего уровня доверия и попытки дублировать правила среды выполнения.
Important
Для сборок с частичным доверием значение этого свойства зависит от текущего уровня доверия сборки. Если сборка загружается в частично доверенный домен приложения (например, в домен изолированного приложения), среда выполнения игнорирует заметки о безопасности сборки. Сборка и все его типы рассматриваются как прозрачные. Среда выполнения обращает внимание на заметки безопасности сборки с частичным доверием, только если эта сборка загружается в полностью доверенный домен приложения (например, в домен приложения по умолчанию классического приложения). В отличие от этого, надежная сборка (т. е. сборка с строгим именем, установленная в глобальном кэше сборок), всегда загружается с полным доверием независимо от уровня доверия домена приложения, поэтому его текущий уровень доверия всегда полностью доверяется. Текущие уровни доверия сборок и доменов приложений можно определить с помощью Assembly.IsFullyTrusted и AppDomain.IsFullyTrusted свойства.
Дополнительные сведения о отражении и прозрачности см. в разделе "Вопросы безопасности" для отражения. Сведения о прозрачности см. в разделе "Изменения безопасности".