PolicyLevel.Resolve(Evidence) Método

Definición

Resuelve la directiva sobre la base de la prueba para el nivel de directiva y devuelve el PolicyStatement resultante.

C#
public System.Security.Policy.PolicyStatement Resolve(System.Security.Policy.Evidence evidence);

Parámetros

evidence
Evidence

Evidence que se utiliza para resolver el PolicyLevel.

Devoluciones

PolicyStatement resultante.

Excepciones

El nivel de directiva contiene múltiples grupos de código coincidentes marcados como exclusivos.

El parámetro evidence es null.

Ejemplos

En el código siguiente se muestra el uso del Resolve método . Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase PolicyLevel.

C#
// Demonstrate the use of ResolvePolicy for the supplied evidence and a specified policy level.
private static void CheckEvidence(PolicyLevel pLevel, Evidence evidence)
{
    // Display the code groups to which the evidence belongs.
    Console.WriteLine("\tResolvePolicy for the given evidence: ");
    IEnumerator codeGroup = evidence.GetEnumerator();
    while (codeGroup.MoveNext())
    {
        Console.WriteLine("\t\t" + ((CodeGroup)codeGroup.Current).Name);
    }
    Console.WriteLine("The current evidence belongs to the following root CodeGroup:");
    // pLevel is the current PolicyLevel, evidence is the Evidence to be resolved.
    CodeGroup cg1 = pLevel.ResolveMatchingCodeGroups(evidence);
    Console.WriteLine(pLevel.Label + " Level");
    Console.WriteLine("\tRoot CodeGroup = " + cg1.Name);

    // Show how Resolve is used to determine the set of permissions that 
    // the security system grants to code, based on the evidence.

    // Show the granted permissions. 
    Console.WriteLine("\nCurrent permissions granted:");
    PolicyStatement pState = pLevel.Resolve(evidence);
    Console.WriteLine(pState.ToXml().ToString());

    return;
}

Comentarios

Resolve es la operación básica de evaluación de directivas para los niveles de directiva. Dado un conjunto de evidencias como entrada, este método prueba las condiciones de pertenencia de los grupos de código que comienzan en la raíz y funcionan como coincidentes. La combinación de permisos resultante de los grupos de código coincidentes genera un PolicyStatement que se devuelve.

Al conceder permisos al código, la directiva de seguridad usa las instrucciones de directiva resueltas para todos los niveles de directiva aplicables, junto con la solicitud de código de permisos.

Se aplica a

Producto Versiones
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10