HostSecurityManager.ProvideAssemblyEvidence(Assembly, Evidence) 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.
Fornece a evidência do assembly para um assembly que está sendo carregado.
public:
virtual System::Security::Policy::Evidence ^ ProvideAssemblyEvidence(System::Reflection::Assembly ^ loadedAssembly, System::Security::Policy::Evidence ^ inputEvidence);
public virtual System.Security.Policy.Evidence ProvideAssemblyEvidence(System.Reflection.Assembly loadedAssembly, System.Security.Policy.Evidence inputEvidence);
abstract member ProvideAssemblyEvidence : System.Reflection.Assembly * System.Security.Policy.Evidence -> System.Security.Policy.Evidence
override this.ProvideAssemblyEvidence : System.Reflection.Assembly * System.Security.Policy.Evidence -> System.Security.Policy.Evidence
Public Overridable Function ProvideAssemblyEvidence (loadedAssembly As Assembly, inputEvidence As Evidence) As Evidence
Parâmetros
- loadedAssembly
- Assembly
O assembly carregado.
- inputEvidence
- Evidence
Evidências adicionais para adicionar à evidência do assembly.
Retornos
A evidência a ser usada para o assembly.
Exemplos
O exemplo a seguir mostra como substituir o ProvideAssemblyEvidence 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 ProvideAssemblyEvidence(Assembly loadedAssembly, Evidence evidence)
{
Console.WriteLine("Provide assembly evidence for: " + (loadedAssembly == null ? "Unknown" : loadedAssembly.ToString()) + ".");
if (evidence == null)
return null;
evidence.AddAssemblyEvidence(new CustomEvidenceType());
return evidence;
}
Public Overrides Function ProvideAssemblyEvidence(ByVal loadedAssembly As [Assembly], ByVal evidence As Evidence) As Evidence
Console.WriteLine("Provide assembly evidence for: " + IIf(loadedAssembly Is Nothing, "Unknown", loadedAssembly.ToString()) + ".") 'TODO: For performance reasons this should be changed to nested IF statements
If evidence Is Nothing Then
Return Nothing
End If
evidence.AddAssemblyEvidence(New CustomEvidenceType())
Return evidence
End Function 'ProvideAssemblyEvidence
Comentários
Este método pode ser substituído em uma classe derivada.
Esse método é chamado sempre que um assembly é carregado, implicitamente ou explicitamente. Os parâmetros passados são o assembly que está sendo carregado e as evidências computadas do common language runtime. A implementação do host pode optar por estender ou reduzir as evidências. O valor retornado é a evidência a ser usada para o assembly. A implementação base sempre retorna o objeto de evidência passado como o inputEvidence parâmetro.
Importante
Consulte as Anotações aos Herdadores da HostSecurityManager classe para obter informações críticas de implementação.