Freigeben über


FirstMatchCodeGroup.Resolve(Evidence) Methode

Definition

Löst für einen Beweissatz Richtlinien für die Codegruppe und deren untergeordnete Elemente auf.

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

Parameter

evidence
Evidence

Der Beweis für die Assembly.

Gibt zurück

PolicyStatement

Eine Richtlinienanweisung, die aus den von der Codegruppe mit optionalen Attributen gewährten Berechtigungen besteht, oder null, wenn die Codegruppe nicht angewendet werden kann, weil die Mitgliedschaftsbedingung nicht mit den angegebenen Beweisen übereinstimmt.

Ausnahmen

Der evidence-Parameter ist null.

Es sind mehrere Codegruppen mit Exclusive gekennzeichnet, einschließlich der übergeordneten und sämtlicher untergeordneten Codegruppen.

Beispiele

Der folgende Code zeigt die Verwendung der Resolve Methode zum Auflösen der Richtlinie für die Codegruppe. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die FirstMatchCodeGroup Klasse bereitgestellt wird.

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)

Hinweise

Angesichts von Nachweisen, dass eine Assembly geladen werden soll, wertet diese Methode die Codegruppe aus, indem Sie zuerst die Mitgliedschaftsbedingung anhand der angegebenen Beweise überprüfen. Wenn eine Übereinstimmung vorhanden ist, gibt diese Methode eine Richtlinienanweisung für die Codegruppe zurück, einschließlich der Auswertung untergeordneter Codegruppen.

Bei Codegruppen mit erster Übereinstimmung wird die Mitgliedschaftsbedingung jeder untergeordneten Codegruppe anhand der Nachweise in der Reihenfolge getestet, in der sie hinzugefügt wurden; Nur die erste Übereinstimmung wird mit dem Nachweissatz aufgelöst. Wenn keine Übereinstimmungen vorhanden sind, gilt die Richtlinienanweisung der übergeordneten Ersten-Übereinstimmungscodegruppe. Der übereinstimmende untergeordnete Codegruppentyp bestimmt, wie alle untergeordneten Gruppen angewendet werden, je nachdem, wie die Resolve Methoden dieser untergeordneten Gruppen funktionieren.

Das .NET Framework Sicherheitssystem verwendet Resolve auf den Richtlinienebenen, um zu bestimmen, welche Berechtigungen zum Laden von Code aus den resultierenden Richtlinienanweisungen und der Codeanforderung für die Assembly gewährt werden sollen.

Dieser Vorgang dieser Methode lautet wie folgt:

Wenn die Mitgliedschaftsbedingung nicht mit den angegebenen Nachweisen übereinstimmt, kehren Sie zurück null; andernfalls legen Sie den Berechtigungssatz fest, der zurückgegeben werden soll (P) entspricht der Richtlinienanweisung der Codegruppe, und fahren Sie fort. Lösen Sie für jede untergeordnete Codegruppe die Codegruppe mit demselben Nachweis; wenn das Ergebnis nicht nulllautet, geben Sie diese Richtlinienausweisung zurück. Wenn keine untergeordnete Codegruppe übereinstimmt, geben Sie P (die Richtlinienanweisung des übergeordneten Elements) zurück.

Gilt für