PersonalizationProvider.DetermineInitialScope Método

Definição

Determina se o âmbito inicial da personalização deve ser Shared ou User o âmbito.

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

Parâmetros

webPartManager
WebPartManager

O WebPartManager que gere a informação de personalização.

loadedState
PersonalizationState

A informação do estado de personalização.

Devoluções

A PersonalizationScope indica se o âmbito de personalização atual é User ou Shared.

Exceções

webPartManager é null.

A página associada a webPartManager é null.

Observações

Este método determina se o âmbito atual deve ser Shared ou User, dada uma referência a um WebPartManager controlo e à informação do estado de personalização que já foi carregada anteriormente no ciclo de vida da personalização. Esta informação é usada por uma WebPartPersonalization instância para tarefas subsequentes relacionadas com personalização.

As seguintes regras são usadas para determinar o âmbito da personalização:

  • Assume-se inicialmente que o âmbito é User.

  • Se a conta de utilizador atualmente em execução não estiver autenticada, o âmbito é definido para Shared.

  • Se a conta de utilizador em execução estiver autenticada, ocorrem processamentos adicionais por ordem de precedência:

    • Se a página estiver em modo de postback, o pedido de página contém informações de âmbito de uma renderização anterior da página. Se essa informação do âmbito indicar que Shared foi utilizado, então o âmbito avalia para Shared.

    • Se a página em execução atualmente teve controlo transferido para si a partir de outra página (por exemplo, se a transferência de controlo ocorreu devido à chamada do Transfer método; note-se que esta verificação específica não ocorre para publicação entre páginas), e se a página em execução anterior teve uma WebPartManager instância, o âmbito é definido para o valor da Personalization.Scope propriedade da instância anterior WebPartManager .

    • Se os critérios anteriores não forem cumpridos, então o âmbito é avaliado para o valor da InitialScope propriedade para o controlo atual WebPartManager .

Após as avaliações anteriores terem sido feitas, e se o âmbito for avaliado dentro Shared do âmbito, ocorre o seguinte processamento:

  • Se a conta de utilizador atualmente em execução tiver essa EnterSharedScopeUserCapability capacidade, o âmbito mantém-se definido para Shared.

  • Se a conta de utilizador atualmente em execução não tiver essa EnterSharedScopeUserCapability capacidade, então o âmbito é reiniciado para User.

  • Se o resultado de todas as avaliações anteriores do âmbito for Shared, este resultado é armazenado como um campo oculto na página atualmente em execução. Este é o mecanismo pelo qual uma página pode reproduzir a avaliação do âmbito durante postbacks subsequentes.

Aplica-se a