HostProtectionAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Code Access Security is not supported or honored by the runtime.
Permite o uso de ações declarativas de segurança para determinar os requisitos de proteção do host. Essa 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
Comentários
Caution
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 honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.
Esse atributo afeta apenas aplicativos não gerenciados que hospedam o common language runtime e implementam a proteção de host, como 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 é detectado 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 de host que a classe ou o método expõe.
Importante
A finalidade 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 se há conformidade com os requisitos do modelo de programação, o 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.
Esse atributo identifica o seguinte:
- Métodos ou classes que não se encaixam no modelo de programação principal, 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 você está criando uma biblioteca de classes que pode vir a ser chamada por aplicativos que podem vir a ser executados em um ambiente de host protegido, você deve aplicar esse 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 deve também causar uma verificação de seu chamador imediato da mesma maneira.
Note
Não use o Ngen.exe (Gerador de Imagem Nativa) para criar uma imagem nativa de assemblies protegidos pelo HostProtectionAttribute. Em um ambiente de confiança total, a imagem é sempre carregada, sem considerar o HostProtectionAttribute. Em um ambiente de confiança parcial, a imagem não é carregada.
Construtores
| Nome | Description |
|---|---|
| HostProtectionAttribute() |
Obsoleto.
Inicializa uma nova instância da HostProtectionAttribute classe com valores padrão. |
| HostProtectionAttribute(SecurityAction) |
Obsoleto.
Inicializa uma nova instância da HostProtectionAttribute classe com o valor especificado SecurityAction . |
Propriedades
| Nome | 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 o gerenciamento de processos externos é exposto. |
| ExternalThreading |
Obsoleto.
Obtém ou define um valor que indica se o threading externo é exposto. |
| MayLeakOnAbort |
Obsoleto.
Obtém ou define um valor que indica se os recursos podem vazar memória se a operação for encerrada. |
| Resources |
Obsoleto.
Obtém ou define sinalizadores que especificam categorias de funcionalidade que são potencialmente prejudiciais para o host. |
| SecurityInfrastructure |
Obsoleto.
Obtém ou define um valor que indica se a infraestrutura de segurança é exposta. |
| SelfAffectingProcessMgmt |
Obsoleto.
Obtém ou define um valor que indica se o gerenciamento de processos autoafetante é exposto. |
| SelfAffectingThreading |
Obsoleto.
Obtém ou define um valor que indica se o threading auto-afetante é exposto. |
| SharedState |
Obsoleto.
Obtém ou define um valor que indica se o estado compartilhado é exposto. |
| Synchronization |
Obsoleto.
Obtém ou define um valor que indica se a sincronização é exposta. |
| TypeId |
Obsoleto.
Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute. (Herdado de Attribute) |
| UI |
Obsoleto.
Obtém ou define um valor que indica se a interface do usuário é exposta. |
| Unrestricted |
Obsoleto.
Obtém ou define um valor que indica se a permissão completa (irrestrita) para o recurso protegido pelo atributo é declarada. (Herdado de SecurityAttribute) |
Métodos
| Nome | Description |
|---|---|
| CreatePermission() |
Obsoleto.
Cria e retorna uma nova permissão de proteção de host. |
| Equals(Object) |
Obsoleto.
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Obsoleto.
Retorna o código hash dessa instância. (Herdado de Attribute) |
| GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Obsoleto.
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Obsoleto.
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Obsoleto.
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Obsoleto.
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Obsoleto.
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Obsoleto.
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |