FirstMatchCodeGroup.Resolve(Evidence) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozwiązuje zasady dla grupy kodu i jej elementów podrzędnych dla zestawu dowodów.
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
Parametry
- evidence
- Evidence
Dowody na zestaw.
Zwraca
Instrukcja zasad składająca się z uprawnień przyznanych przez grupę kodu z opcjonalnymi atrybutami lub null
jeśli grupa kodu nie ma zastosowania (warunek członkostwa nie jest zgodny z określonymi dowodami).
Wyjątki
Parametr evidence
to null
.
Oznaczono Exclusivewięcej niż jedną grupę kodu (w tym nadrzędną grupę kodu i wszystkie podrzędne grupy kodu).
Przykłady
Poniższy kod przedstawia użycie Resolve metody do rozpoznawania zasad dla grupy kodu. Ten przykład kodu jest częścią większego przykładu podanego FirstMatchCodeGroup dla klasy.
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)
Uwagi
Biorąc pod uwagę dowody na załadowanie zestawu, ta metoda ocenia grupę kodu, sprawdzając najpierw warunek członkostwa względem określonych dowodów. Jeśli istnieje dopasowanie, ta metoda zwraca instrukcję zasad dla grupy kodu, w tym ocenę podrzędnych grup kodu.
W przypadku grup kodu pierwszego dopasowania warunek członkostwa każdej podrzędnej grupy kodu jest testowany względem dowodów w kolejności, w której zostały dodane; tylko pierwsze dopasowanie jest rozwiązywane z zestawem dowodów. Jeśli nie ma dopasowań, ma zastosowanie instrukcja zasad nadrzędnej grupy kodu pierwszego dopasowania. Pasujący podrzędny typ grupy kodu określa, jak są stosowane wszystkie grupy podrzędne, w zależności od tego, jak Resolve działają metody tych grup podrzędnych.
System zabezpieczeń .NET Framework używa Resolve na poziomach zasad w celu określenia, które uprawnienia do przyznania załadowanego kodu z wynikowych instrukcji zasad i żądania kodu w zestawie.
Ta operacja tej metody jest następująca:
Jeśli warunek członkostwa nie jest zgodny z określonymi dowodami, wróć null
; w przeciwnym razie ustaw ustawienie uprawnień, które ma zostać zwrócone (P) równe instrukcji zasad grupy kodu i kontynuuj. Dla każdej podrzędnej grupy kodu rozwiąż grupę kodu z tymi samymi dowodami; jeśli wynik nie null
ma wartości , zwróć instrukcję zasad. Jeśli żadna podrzędna grupa kodu nie jest zgodna, zwróć wartość P (instrukcja zasad elementu nadrzędnego).