FirstMatchCodeGroup.Resolve(Evidence) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 null
lautet, geben Sie diese Richtlinienausweisung zurück. Wenn keine untergeordnete Codegruppe übereinstimmt, geben Sie P (die Richtlinienanweisung des übergeordneten Elements) zurück.