PersonalizationProvider.DetermineInitialScope Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
virtual System::Web::UI::WebControls::WebParts::PersonalizationScope DetermineInitialScope(System::Web::UI::WebControls::WebParts::WebPartManager ^ webPartManager, System::Web::UI::WebControls::WebParts::PersonalizationState ^ loadedState);
public virtual System.Web.UI.WebControls.WebParts.PersonalizationScope DetermineInitialScope(System.Web.UI.WebControls.WebParts.WebPartManager webPartManager, System.Web.UI.WebControls.WebParts.PersonalizationState loadedState);
abstract member DetermineInitialScope : System.Web.UI.WebControls.WebParts.WebPartManager * System.Web.UI.WebControls.WebParts.PersonalizationState -> System.Web.UI.WebControls.WebParts.PersonalizationScope
override this.DetermineInitialScope : System.Web.UI.WebControls.WebParts.WebPartManager * System.Web.UI.WebControls.WebParts.PersonalizationState -> System.Web.UI.WebControls.WebParts.PersonalizationScope
Public Overridable Function DetermineInitialScope (webPartManager As WebPartManager, loadedState As PersonalizationState) As PersonalizationScope
Параметры
- webPartManager
- WebPartManager
Управление WebPartManager сведениями о персонализации.
- loadedState
- PersonalizationState
Сведения о состоянии персонализации.
Возвращаемое значение
Значение, PersonalizationScope указывающее, является User ли текущая область персонализации или Shared.
Исключения
webPartManager равно null.
Страница, связанная с webPartManager ней null.
Комментарии
Этот метод определяет, должна ли текущая область быть Shared или Userиметь ссылку на WebPartManager элемент управления и сведения о состоянии персонализации, которые уже загружены ранее в жизненном цикле персонализации. Эти сведения используются экземпляром WebPartPersonalization для последующих задач, связанных с персонализацией.
Для определения области персонализации используются следующие правила:
Предполагается, что область изначально должна быть User.
Если учетная запись пользователя, выполняющаяся в данный момент, не проходит проверку подлинности, для области задано значение Shared.
Если в настоящее время выполняется проверка подлинности учетной записи пользователя, дополнительная обработка выполняется в порядке приоритета:
Если страница находится в режиме обратной передачи, запрос страницы содержит сведения о области из предыдущей отрисовки страницы. Если эта информация о области указывает, что Shared была использована область, то область вычисляется Shared.
Если в настоящее время выполняющаяся страница была передана на другую страницу (например, если произошла передача элемента управления из-за вызова Transfer метода; обратите внимание, что эта конкретная проверка не выполняется для перекрестной публикации), а если ранее выполняющаяся страница имела WebPartManager экземпляр, область задается значением
Personalization.Scopeсвойства из предыдущего WebPartManager экземпляра.Если предыдущие критерии не выполнены, область вычисляет значение свойства для текущего InitialScopeWebPartManager элемента управления.
После выполнения предыдущих вычислений и при оценке Shared области происходит следующая обработка:
Если у текущей учетной записи пользователя есть EnterSharedScopeUserCapability возможность, область остается заданной Shared.
Если у текущей учетной записи пользователя нет EnterSharedScopeUserCapability возможности, область сбрасывается в User.
Если результат всех предыдущих Sharedвычислений области, этот результат сохраняется в виде скрытого поля на текущей странице выполнения. Это механизм, в котором страница может воспроизводить оценку области во время последующих обратных операций.