FirstMatchCodeGroup.Resolve(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.
Resolve a política para o grupo de códigos e seus descendentes para um conjunto de evidências.
public:
override System::Security::Policy::PolicyStatement ^ Resolve(System::Security::Policy::Evidence ^ evidence);
public override System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);
override this.Resolve : System.Security.Policy.Evidence -> System.Security.Policy.PolicyStatement
Public Overrides Function Resolve (evidence As Evidence) As PolicyStatement
Parâmetros
- evidence
- Evidence
A evidência para o assembly.
Retornos
Uma declaração de política que consiste das permissões concedidas pelo grupo de códigos com atributos opcionais ou null
, se o grupo de códigos não se aplica (se a condição de associação não corresponde à evidência especificada).
Exceções
O parâmetro evidence
é null
.
Mais de um grupo de códigos (incluindo o grupo de códigos pai e os grupos de códigos filhos) está marcado como Exclusive.
Exemplos
O código a seguir mostra o uso do Resolve método para resolver a política para o grupo de códigos. Este exemplo de código faz parte de um exemplo maior fornecido para a FirstMatchCodeGroup classe.
Assembly^ assembly = Members::typeid->Assembly;
Evidence^ executingEvidence = assembly->Evidence;
PolicyStatement^ policy = codeGroup->Resolve( executingEvidence );
Assembly assembly = typeof(Members).Assembly;
Evidence executingEvidence = assembly.Evidence;
PolicyStatement policy = codeGroup.Resolve(executingEvidence);
Dim executingAssembly As [Assembly] = Me.GetType().Assembly
Dim executingEvidence As Evidence
executingEvidence = executingAssembly.Evidence
Dim policy As PolicyStatement = codeGroup.Resolve(executingEvidence)
Comentários
Considerando evidências para que um assembly seja carregado, esse método avalia o grupo de códigos primeiro verificando a condição de associação em relação às evidências especificadas. Se houver uma correspondência, esse método retornará uma instrução de política para o grupo de códigos, incluindo a avaliação de grupos de código filho.
Para grupos de códigos de primeira correspondência, a condição de associação de cada grupo de código filho é testada em relação às evidências na ordem em que foram adicionados; apenas a primeira correspondência é resolvida com o conjunto de evidências. Se não houver correspondências, a instrução de política do grupo de códigos pai de primeira correspondência será aplicada. O tipo de grupo de código filho correspondente determina como todos os grupos filho sob ele são aplicados, dependendo de como os Resolve métodos desses grupos filho funcionam.
O sistema de segurança .NET Framework usa Resolve nos níveis de política para determinar quais permissões conceder para o código carregado das instruções de política resultantes e da solicitação de código no assembly.
Esta operação desse método é a seguinte:
Se a condição de associação não corresponder à evidência especificada, retorne null
; caso contrário, defina o conjunto de permissões a ser retornado (P) igual à instrução política do grupo de códigos e continue. Para cada grupo de código filho, resolva o grupo de códigos com a mesma evidência; se o resultado não null
for, retorne essa instrução de política. Se nenhum grupo de código filho corresponder, retorne P (a instrução de política do pai).