HostProtectionAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
Code Access Security is not supported or honored by the runtime.
Permite el uso de acciones de seguridad declarativas para determinar los requisitos de protección de host. Esta clase no puede heredarse.
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
- Herencia
- Atributos
Comentarios
Caution
La seguridad de acceso al código (CAS) está en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y producen errores si se utilizan las API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.
Este atributo afecta solo a las aplicaciones no administradas que hospedan Common Language Runtime e implementan la protección de host, como SQL Server. Si el código se ejecuta en una aplicación cliente o en un servidor que no está protegido por host, el atributo "evapora" ; no se detecta y, por tanto, no se aplica. Cuando se aplica, la acción de seguridad da lugar a la creación de una demanda de vínculo en función de los recursos host que expone la clase o el método.
Importante
El propósito de este atributo es aplicar instrucciones del modelo de programación específicos del host, no el comportamiento de seguridad. Aunque la demanda de vínculo se usa para comprobar la conformidad con los requisitos del modelo de programación, el HostProtectionAttribute no constituye un permiso de seguridad.
Si el host no tiene requisitos de modelo de programación, no se producen las demandas de vínculo.
Este atributo identifica lo siguiente:
- Métodos o clases que no se ajustan al modelo de programación de host, pero que de lo contrario son benignos.
- Métodos o clases que no se ajustan al modelo de programación de host y podrían provocar una desestabilización del código de usuario administrado por el servidor.
- Métodos o clases que no se ajustan al modelo de programación de host y podrían provocar una desestabilización del propio proceso del servidor.
Note
Si va a crear una biblioteca de clases que va a ser llamada por aplicaciones que se pueden ejecutar en un entorno de host protegido, debe aplicar este atributo a los miembros que exponen categorías de recursos de HostProtectionResource. Los miembros de la biblioteca de clases .NET Framework con este atributo hacen que solo se compruebe el llamador inmediato. El miembro de biblioteca también debe provocar una comprobación de su llamador inmediato de la misma manera.
Note
No use el Ngen.exe (Generador de imágenes nativas) para crear una imagen nativa de ensamblados protegidos por .HostProtectionAttribute En un entorno de plena confianza, la imagen siempre se carga, sin tener en cuenta , HostProtectionAttributey en un entorno de confianza parcial, la imagen no se carga.
Constructores
| Nombre | Description |
|---|---|
| HostProtectionAttribute() |
Obsoletos.
Inicializa una nueva instancia de la HostProtectionAttribute clase con valores predeterminados. |
| HostProtectionAttribute(SecurityAction) |
Obsoletos.
Inicializa una nueva instancia de la HostProtectionAttribute clase con el valor especificado SecurityAction . |
Propiedades
| Nombre | Description |
|---|---|
| Action |
Obsoletos.
Obtiene o establece una acción de seguridad. (Heredado de SecurityAttribute) |
| ExternalProcessMgmt |
Obsoletos.
Obtiene o establece un valor que indica si se expone la administración de procesos externos. |
| ExternalThreading |
Obsoletos.
Obtiene o establece un valor que indica si se expone el subproceso externo. |
| MayLeakOnAbort |
Obsoletos.
Obtiene o establece un valor que indica si los recursos pueden perder memoria si se finaliza la operación. |
| Resources |
Obsoletos.
Obtiene o establece marcas que especifican categorías de funcionalidad potencialmente perjudiciales para el host. |
| SecurityInfrastructure |
Obsoletos.
Obtiene o establece un valor que indica si se expone la infraestructura de seguridad. |
| SelfAffectingProcessMgmt |
Obsoletos.
Obtiene o establece un valor que indica si se expone la administración de procesos que afectan automáticamente. |
| SelfAffectingThreading |
Obsoletos.
Obtiene o establece un valor que indica si se expone el subproceso que afecta automáticamente. |
| SharedState |
Obsoletos.
Obtiene o establece un valor que indica si se expone el estado compartido. |
| Synchronization |
Obsoletos.
Obtiene o establece un valor que indica si se expone la sincronización. |
| TypeId |
Obsoletos.
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
| UI |
Obsoletos.
Obtiene o establece un valor que indica si se expone la interfaz de usuario. |
| Unrestricted |
Obsoletos.
Obtiene o establece un valor que indica si se declara el permiso completo (sin restricciones) para el recurso protegido por el atributo. (Heredado de SecurityAttribute) |
Métodos
| Nombre | Description |
|---|---|
| CreatePermission() |
Obsoletos.
Crea y devuelve un nuevo permiso de protección de host. |
| Equals(Object) |
Obsoletos.
Devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
| GetHashCode() |
Obsoletos.
Devuelve el código hash de esta instancia. (Heredado de Attribute) |
| GetType() |
Obsoletos.
Obtiene el Type de la instancia actual. (Heredado de Object) |
| IsDefaultAttribute() |
Obsoletos.
Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada. (Heredado de Attribute) |
| Match(Object) |
Obsoletos.
Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
| MemberwiseClone() |
Obsoletos.
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Obsoletos.
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Obsoletos.
Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Heredado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Obsoletos.
Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz. (Heredado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Obsoletos.
Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Heredado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Obsoletos.
Proporciona acceso a propiedades y métodos expuestos por un objeto . (Heredado de Attribute) |