FirstMatchCodeGroup.Resolve(Evidence) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Resuelve la directiva del grupo de código y sus descendientes para un conjunto de pruebas.
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
Prueba del ensamblado.
Devoluciones
Instrucción de directiva que contiene los permisos concedidos por el grupo de código con atributos opcionales, o null
si el grupo de código no se aplica (la prueba especificada no cumple la condición de pertenencia).
Excepciones
El parámetro evidence
es null
.
Más de un grupo de código (incluido el grupo de código principal y todos los grupos de código secundarios) se ha marcado como Exclusive.
Ejemplos
En el código siguiente se muestra el uso del método para resolver la Resolve directiva del grupo de código. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la FirstMatchCodeGroup clase .
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)
Comentarios
Dada la evidencia para que se cargue un ensamblado, este método evalúa el grupo de código comprobando primero la condición de pertenencia con la evidencia especificada. Si hay una coincidencia, este método devuelve una instrucción de directiva para el grupo de código, incluida la evaluación de los grupos de código secundarios.
En el caso de los grupos de código de primera coincidencia, la condición de pertenencia de cada grupo de código secundario se prueba con la evidencia en el orden en que se agregaron; solo se resuelve la primera coincidencia con el conjunto de evidencias. Si no hay coincidencias, se aplica la instrucción de directiva del grupo de código primario de primera coincidencia. El tipo de grupo de código secundario coincidente determina cómo se aplican todos los grupos secundarios en él, en función de cómo funcionan los Resolve métodos de estos grupos secundarios.
El sistema de seguridad de .NET Framework usa Resolve en los niveles de directiva para determinar qué permisos conceder para conceder código cargado desde las instrucciones de directiva resultantes y la solicitud de código en el ensamblado.
Esta operación de este método es la siguiente:
Si la condición de pertenencia no coincide con la evidencia especificada, devuelva null
; de lo contrario, establezca el conjunto de permisos para que se devuelva (P) igual a la instrucción de directiva del grupo de código y continúe. Para cada grupo de código secundario, resuelva el grupo de código con la misma evidencia; si el resultado no null
es , devuelve esa instrucción de directiva. Si no hay ningún grupo de código secundario coinciden, devuelva P (la instrucción de directiva del elemento primario).