Compartilhar via


HostSecurityManager.GenerateAppDomainEvidence(Type) Método

Definição

Solicita um tipo de evidência específico para o domínio de aplicativo.

public:
 virtual System::Security::Policy::EvidenceBase ^ GenerateAppDomainEvidence(Type ^ evidenceType);
public virtual System.Security.Policy.EvidenceBase GenerateAppDomainEvidence (Type evidenceType);
abstract member GenerateAppDomainEvidence : Type -> System.Security.Policy.EvidenceBase
override this.GenerateAppDomainEvidence : Type -> System.Security.Policy.EvidenceBase
Public Overridable Function GenerateAppDomainEvidence (evidenceType As Type) As EvidenceBase

Parâmetros

evidenceType
Type

O tipo de evidência.

Retornos

A evidência de domínio do aplicativo solicitada.

Exemplos

O exemplo a seguir mostra como substituir o ProvideAppDomainEvidence método para um gerenciador de segurança de host personalizado. Este exemplo faz parte de um exemplo maior fornecido para a HostSecurityManager classe .

public override Evidence ProvideAppDomainEvidence(Evidence evidence)
{
    Console.WriteLine("Provide evidence for the " + AppDomain.CurrentDomain.FriendlyName + " AppDomain.");
    if (evidence == null)
        return null;

    evidence.AddHostEvidence(new CustomEvidenceType());
    return evidence;
}
Public Overrides Function ProvideAppDomainEvidence(ByVal evidence As Evidence) As Evidence
    Console.WriteLine("Provide evidence for the " + AppDomain.CurrentDomain.FriendlyName + " AppDomain.")
    If evidence Is Nothing Then
        Return Nothing
    End If
    evidence.AddHostEvidence(New CustomEvidenceType())
    Return evidence

End Function 'ProvideAppDomainEvidence

Comentários

Este método pode ser substituído por uma classe derivada. A implementação base retorna null.

O Common Language Runtime chama esse método quando a evidência do tipo especificado é necessária para o atual AppDomain. O valor retornado é usado como evidência fornecida pelo host e é armazenado na Evidence coleção da CurrentDomain propriedade . Você pode usar o Evidence.GetAssemblyEvidence método para obter a evidência gerada da coleção.

Para obter um retorno de chamada para esse método, os hosts devem especificar o HostAppDomainEvidence sinalizador na Flags propriedade .

Esse método de geração de evidências permite que os hosts atrasem a geração de evidências para um AppDomain até que a evidência seja necessária. No .NET Framework versão 3.5 e versões anteriores, era necessário fornecer AppDomain evidências em tempo de carregamento substituindo o ProvideAppDomainEvidence método . Recomendamos que você use GenerateAppDomainEvidence para fornecer evidências em vez de substituir ProvideAppDomainEvidence.

O GenerateAppDomainEvidence método é chamado de volta apenas para tipos de evidência que o host especificou na substituição do GetHostSuppliedAppDomainEvidenceTypes método .

Um valor retornado de null indica que o host não pode gerar evidências desse tipo específico.

Aplica-se a