FirstMatchCodeGroup.Resolve(Evidence) Método

Definição

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

PolicyStatement

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 nullfor, 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).

Aplica-se a