HostProtectionAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание
Code Access Security is not supported or honored by the runtime.
Позволяет использовать декларативные действия безопасности для определения требований к защите узлов. Этот класс не может быть унаследован.
public ref class HostProtectionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class HostProtectionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class HostProtectionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class HostProtectionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type HostProtectionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type HostProtectionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Delegate | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type HostProtectionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class HostProtectionAttribute
Inherits CodeAccessSecurityAttribute
- Наследование
- Атрибуты
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
Этот атрибут влияет только на неуправляемые приложения, в которых размещается среда CLR и реализует защиту узлов, например SQL Server. Если код выполняется в клиентском приложении или на сервере, который не защищается от узла, атрибут "испаряется"; он не обнаруживается и поэтому не применяется. При применении действие безопасности приводит к созданию спроса на связь на основе ресурсов узла, предоставляемых классом или методом.
Это важно
Назначение этого атрибута заключается в применении рекомендаций по модели программирования для конкретного узла, а не поведения безопасности. Хотя запрос ссылки используется для проверки соответствия требованиям модели программирования, HostProtectionAttribute это не разрешение на безопасность.
Если у хоста нет требований к модели программирования, то требования к ссылке не возникают.
Этот атрибут определяет следующее:
- Методы или классы, которые не соответствуют модели программирования хоста, но в противном случае являются доброкачественными.
- Методы или классы, которые не соответствуют модели программирования узла и могут привести к дестабилизации пользовательского кода, управляемого сервером.
- Методы или классы, которые не соответствуют модели программирования узла и могут привести к дестабилизации самого процесса сервера.
Note
Если вы создаете библиотеку классов, которая должна вызываться приложениями, которые могут выполняться в защищенной среде хоста, следует применить этот атрибут к членам, открывающим доступ к категориям ресурсов HostProtectionResource. Члены библиотеки классов .NET Framework с этим атрибутом вызывают проверку только немедленного вызывающего объекта. Ваш член библиотеки должен также инициировать проверку своего прямого вызывающего таким же образом.
Note
Не используйте Ngen.exe (генератор собственных образов) для создания собственного образа сборок, защищенных этим HostProtectionAttributeэлементом. В среде полного доверия образ всегда загружается без учета HostProtectionAttributeсреды с частичным доверием, а образ не загружается.
Конструкторы
| Имя | Описание |
|---|---|
| HostProtectionAttribute() |
Устаревшие..
Инициализирует новый экземпляр HostProtectionAttribute класса со значениями по умолчанию. |
| HostProtectionAttribute(SecurityAction) |
Устаревшие..
Инициализирует новый экземпляр HostProtectionAttribute класса с указанным SecurityAction значением. |
Свойства
| Имя | Описание |
|---|---|
| Action |
Устаревшие..
Возвращает или задает действие по обеспечению безопасности. (Унаследовано от SecurityAttribute) |
| ExternalProcessMgmt |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли управление внешними процессами. |
| ExternalThreading |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли внешний поток. |
| MayLeakOnAbort |
Устаревшие..
Возвращает или задает значение, указывающее, могут ли ресурсы утечки памяти, если операция завершена. |
| Resources |
Устаревшие..
Возвращает или задает флаги, указывающие категории функциональных возможностей, потенциально опасных для узла. |
| SecurityInfrastructure |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли инфраструктура безопасности. |
| SelfAffectingProcessMgmt |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли самостоятельное управление процессами. |
| SelfAffectingThreading |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли самонаправляемая потоковая работа. |
| SharedState |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли общее состояние. |
| Synchronization |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли синхронизация. |
| TypeId |
Устаревшие..
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
| UI |
Устаревшие..
Возвращает или задает значение, указывающее, предоставляется ли пользовательский интерфейс. |
| Unrestricted |
Устаревшие..
Возвращает или задает значение, указывающее, объявлено ли полное (неограниченное) разрешение на ресурс, защищенный атрибутом. (Унаследовано от SecurityAttribute) |
Методы
| Имя | Описание |
|---|---|
| CreatePermission() |
Устаревшие..
Создает и возвращает новое разрешение на защиту узла. |
| Equals(Object) |
Устаревшие..
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| GetHashCode() |
Устаревшие..
Возвращает хэш-код для этого экземпляра. (Унаследовано от Attribute) |
| GetType() |
Устаревшие..
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
Устаревшие..
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
| Match(Object) |
Устаревшие..
При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| MemberwiseClone() |
Устаревшие..
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Устаревшие..
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Устаревшие..
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Устаревшие..
Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Устаревшие..
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Устаревшие..
Предоставляет доступ к свойствам и методам, предоставляемым объектом. (Унаследовано от Attribute) |