HostProtectionAttribute Clase

Definición

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)

Se aplica a

Consulte también