PersonalizationProvider.DetermineInitialScope 方法

定义

确定初始个性化设置范围应为 Shared 还是 User 范围。

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

例外

webPartManagernull

webPartManager 关联的页为 null

注解

此方法确定当前范围应为 Shared 还是 User,给定对 WebPartManager 控件的引用,以及个性化设置生命周期早期已加载的个性化设置状态信息。 实例将此信息用于 WebPartPersonalization 后续个性化相关任务。

以下规则用于确定个性化设置范围:

  • 最初假定范围为 User

  • 如果当前执行的用户帐户未通过身份验证,则范围设置为 Shared

  • 如果当前执行的用户帐户已经过身份验证,则按优先顺序进行其他处理:

    • 如果页面处于回发模式,则页面请求包含以前呈现页面的范围信息。 如果该范围信息指示 Shared 已使用范围,则该范围计算结果为 Shared

    • 例如,如果当前正在执行的页面已将控制权从另一页 (转移到该页,则由于调用 Transfer 方法而发生了控制权转移;请注意,对于跨页发布) 不会发生此特定检查,并且如果以前执行的页面具有实例,则范围设置为上WebPartManagerWebPartManager个实例中的 Personalization.Scope 属性的值。

    • 如果未满足上述条件,则范围计算结果为当前WebPartManager控件的 InitialScope 属性的值。

在进行前面的评估后,如果范围计算为 Shared 范围,则会发生以下处理:

  • 如果当前正在执行的用户帐户具有 EnterSharedScopeUserCapability 功能,则范围仍设置为 Shared

  • 如果当前正在执行的用户帐户没有 EnterSharedScopeUserCapability 此功能,则作用域将重置为 User

  • 如果之前所有范围评估的结果为 Shared,则此结果将作为隐藏字段存储在当前正在执行的页面上。 这是页面在后续回发期间重播范围评估的机制。

适用于