HostProtectionAttribute Classe

Definição

Atenção

Code Access Security is not supported or honored by the runtime.

Permite a utilização de ações de segurança declarativas para determinar os requisitos de proteção do host. Esta classe não pode ser herdada.

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
Herança
Atributos

Observações

Atenção

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.

Este atributo afeta apenas aplicações não geridas que alojam o runtime da linguagem comum e implementam proteção de host, como o SQL Server. Se o código for executado em um aplicativo cliente ou em um servidor que não esteja protegido por host, o atributo "evapora"; não é detetado e, portanto, não é aplicado. Quando aplicada, a ação de segurança resulta na criação de uma demanda de link com base nos recursos do host que a classe ou método expõe.

Importante

O objetivo desse atributo é impor diretrizes de modelo de programação específicas do host, não o comportamento de segurança. Embora uma demanda de link seja usada para verificar a conformidade com os requisitos do modelo de programação, a HostProtectionAttribute não é uma permissão de segurança.

Se o host não tiver requisitos de modelo de programação, as demandas de link não ocorrerão.

Este atributo identifica o seguinte:

  • Métodos ou classes que não se ajustam ao modelo de programação do host, mas são benignos.
  • Métodos ou classes que não se encaixam no modelo de programação do host e podem levar à desestabilização do código do usuário gerenciado pelo servidor.
  • Métodos ou classes que não se encaixam no modelo de programação do host e podem levar a uma desestabilização do próprio processo do servidor.

Note

Se estiver a criar uma biblioteca de classes que deve ser chamada por aplicações que possam ser executadas num ambiente de anfitrião protegido, deve aplicar este atributo aos membros que expõem categorias de recursos HostProtectionResource. Os membros da biblioteca de classes do .NET Framework com esse atributo fazem com que apenas o chamador imediato seja verificado. O membro da biblioteca também deve fazer uma verificação de seu chamador imediato da mesma maneira.

Note

Não use o Ngen.exe (Gerador de Imagens Nativas) para criar uma imagem nativa de assemblies protegidas pelo HostProtectionAttributearquivo . Num ambiente de confiança total, a imagem é sempre carregada, sem considerar o HostProtectionAttribute, e num ambiente de confiança parcial a imagem não é carregada.

Construtores

Name Description
HostProtectionAttribute()
Obsoleto.

Inicializa uma nova instância da HostProtectionAttribute classe com valores por defeito.

HostProtectionAttribute(SecurityAction)
Obsoleto.

Inicializa uma nova instância da HostProtectionAttribute classe com o valor especificado SecurityAction .

Propriedades

Name Description
Action
Obsoleto.

Obtém ou define uma ação de segurança.

(Herdado de SecurityAttribute)
ExternalProcessMgmt
Obsoleto.

Obtém ou define um valor que indica se a gestão de processos externos está exposta.

ExternalThreading
Obsoleto.

Recebe ou define um valor que indica se o threading externo está exposto.

MayLeakOnAbort
Obsoleto.

Recebe ou define um valor que indica se recursos podem perder memória caso a operação seja terminada.

Resources
Obsoleto.

Recebe ou define flags que especificam categorias de funcionalidades que podem ser prejudiciais para o host.

SecurityInfrastructure
Obsoleto.

Recebe ou define um valor que indica se a infraestrutura de segurança está exposta.

SelfAffectingProcessMgmt
Obsoleto.

Obtém ou define um valor que indica se a gestão de processos auto-afetiva está exposta.

SelfAffectingThreading
Obsoleto.

Recebe ou define um valor que indica se a threading autoafetante está exposta.

SharedState
Obsoleto.

Recebe ou define um valor que indica se o estado partilhado está exposto.

Synchronization
Obsoleto.

Recebe ou define um valor que indica se a sincronização está exposta.

TypeId
Obsoleto.

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)
UI
Obsoleto.

Recebe ou define um valor que indica se a interface de utilizador está exposta.

Unrestricted
Obsoleto.

Obtém ou define um valor que indica se está declarada permissão total (irrestrita) para o recurso protegido pelo atributo.

(Herdado de SecurityAttribute)

Métodos

Name Description
CreatePermission()
Obsoleto.

Cria e devolve uma nova permissão de proteção do host.

Equals(Object)
Obsoleto.

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()
Obsoleto.

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()
Obsoleto.

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)
Obsoleto.

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()
Obsoleto.

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Obsoleto.

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Obsoleto.

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Obsoleto.

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Obsoleto.

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também