HostSecurityManager.GenerateAppDomainEvidence(Type) Método
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.
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.