Sdílet prostřednictvím


FirstMatchCodeGroup.Resolve(Evidence) Metoda

Definice

Řeší zásady pro skupinu kódu a její potomky pro sadu důkazů.

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

Důkazy pro sestavení.

Návraty

PolicyStatement

Prohlášení o zásadách skládající se z oprávnění udělených skupinou kódu s volitelnými atributy nebo null pokud se skupina kódu nepoužije (podmínka členství neodpovídá zadaným důkazům).

Výjimky

Parametr evidence je null.

Je označeno Exclusivevíce než jedna skupina kódu (včetně nadřazené skupiny kódu a všech podřízených skupin kódu).

Příklady

Následující kód ukazuje použití Resolve metody k vyřešení zásad pro skupinu kódu. Tento příklad kódu je součástí většího příkladu poskytnutého FirstMatchCodeGroup pro třídu.

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)

Poznámky

Tato metoda vyhodnotí skupinu kódu tak, že nejprve zkontroluje podmínku členství na zadaných důkazech. Pokud existuje shoda, vrátí tato metoda příkaz zásad pro skupinu kódu, včetně vyhodnocení podřízených skupin kódu.

U skupin kódu první shody je podmínka členství každé podřízené skupiny kódu testována na důkazech v pořadí, v jakém byly přidány; pouze první shoda je vyřešena se sadou důkazů. Pokud neexistují žádné shody, použije se prohlášení o zásadách nadřazené skupiny kódu první shody. Odpovídající typ podřízené skupiny kódu určuje způsob použití všech podřízených skupin v závislosti na tom, jak Resolve fungují metody těchto podřízených skupin.

Systém zabezpečení .NET Framework používá Resolve na úrovních zásad k určení oprávnění k udělení kódu z výsledných příkazů zásad a požadavku na kód v sestavení.

Tato operace této metody je následující:

Pokud podmínka členství neodpovídá zadanému důkazu, vraťte se null. V opačném případě nastavte sadu oprávnění, která se má vrátit (P) rovna prohlášení o zásadách skupiny kódu a pokračovat. Pro každou podřízenou skupinu kódu vyřešte skupinu kódu stejnými důkazy; pokud výsledek není null, vraťte tento příkaz zásady. Pokud se žádná podřízená skupina kódu neshodovala, vraťte P (prohlášení o zásadách nadřazeného objektu).

Platí pro