FirstMatchCodeGroup.Resolve(Evidence) Метод

Определение

Обрабатывает политику для группы кода и ее дочерних элементов, используя набор свидетельств.

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

Параметры

evidence
Evidence

Свидетельство для сборки.

Возвращаемое значение

PolicyStatement

Инструкция политики, состоящая из разрешений, предоставляемых группой кода с необязательными атрибутами, или значение null, если группа кода не применяется (условие членства не соответствует указанному свидетельству).

Исключения

Параметр evidence имеет значение null.

Более чем одна группа кода (включая родительские и любые дочерние группы кода) помечается свойством Exclusive.

Примеры

В следующем коде показано использование Resolve метода для разрешения политики для группы кода. Этот пример кода является частью более крупного примера, предоставленного FirstMatchCodeGroup для класса.

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)

Комментарии

Учитывая доказательства загрузки сборки, этот метод оценивает группу кода, сначала проверяя условие членства на соответствие указанным доказательствам. При наличии совпадения этот метод возвращает инструкцию политики для группы кода, включая оценку дочерних групп кода.

Для групп кода первого соответствия условие членства каждой дочерней группы кода проверяется на соответствие доказательствам в том порядке, в котором они были добавлены; Только первое совпадение разрешается с набором доказательств. Если совпадений нет, применяется инструкция политики родительской группы кода первого соответствия. Соответствующий тип дочерней группы кода определяет, как применяются все дочерние группы в зависимости от того, как Resolve работают методы этих дочерних групп.

Система безопасности платформа .NET Framework используется Resolve на уровнях политики, чтобы определить, какие разрешения на предоставление загруженного кода из полученных инструкций политики и запроса кода в сборке.

Эта операция этого метода выглядит следующим образом:

Если условие членства не соответствует указанному доказательству, возвращается null; в противном случае задайте набор разрешений, возвращаемый (P), равный оператору политики группы кода, и продолжить. Для каждой дочерней группы кода устраните группу кода с одинаковыми доказательствами; Значение , если результат не nullявляется результатом, возвращает инструкцию политики. Если дочерние группы кода не совпадают, верните P (оператор политики родительского объекта).

Применяется к