FirstMatchCodeGroup.Resolve(Evidence) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Ř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
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).