Condividi tramite


PersonalizationProvider.DetermineInitialScope Metodo

Definizione

Determina se l'ambito iniziale di personalizzazione deve essere Shared o 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

Parametri

webPartManager
WebPartManager

Oggetto WebPartManager che gestisce le informazioni sulla personalizzazione.

loadedState
PersonalizationState

Informazioni sullo stato di personalizzazione.

Restituisce

Un oggetto PersonalizationScope che indica se l'ambito di personalizzazione corrente è User o Shared.

Eccezioni

webPartManager è null.

La pagina associata all'oggetto webPartManager è null.

Commenti

Questo metodo determina se l'ambito corrente deve essere Shared o User, dato un riferimento a un WebPartManager controllo e alle informazioni sullo stato di personalizzazione già caricate in precedenza nel ciclo di vita della personalizzazione. Queste informazioni vengono usate da un'istanza WebPartPersonalization di per le attività successive correlate alla personalizzazione.

Per determinare l'ambito di personalizzazione vengono usate le regole seguenti:

  • Inizialmente si presuppone che l'ambito sia User.

  • Se l'account utente attualmente in esecuzione non è autenticato, l'ambito viene impostato su Shared.

  • Se l'account utente attualmente in esecuzione viene autenticato, l'elaborazione aggiuntiva viene eseguita in ordine di precedenza:

    • Se la pagina è in modalità di postback, la richiesta di pagina contiene informazioni sull'ambito da un rendering precedente della pagina. Se tali informazioni sull'ambito indicano che Shared è stato usato l'ambito, l'ambito restituisce Shared.

    • Se la pagina attualmente in esecuzione aveva trasferito il controllo da un'altra pagina (ad esempio, se il trasferimento del controllo si è verificato a causa della chiamata al Transfer metodo; si noti che questo controllo specifico non si verifica per la registrazione tra pagine) e se la pagina in esecuzione in precedenza aveva un'istanza WebPartManager , l'ambito viene impostato sul valore della proprietà dall'istanza Personalization.Scope precedente WebPartManager .

    • Se i criteri precedenti non vengono soddisfatti, l'ambito restituisce il valore della InitialScope proprietà per il controllo corrente WebPartManager .

Dopo aver eseguito le valutazioni precedenti e se l'ambito restituisce Shared l'ambito, si verifica l'elaborazione seguente:

  • Se l'account utente attualmente in esecuzione ha la EnterSharedScopeUserCapability funzionalità , l'ambito rimane impostato su Shared.

  • Se l'account utente attualmente in esecuzione non dispone della EnterSharedScopeUserCapability funzionalità , l'ambito viene reimpostato su User.

  • Se il risultato di tutte le valutazioni dell'ambito precedenti è Shared, questo risultato viene archiviato come campo nascosto nella pagina attualmente in esecuzione. Questo è il meccanismo in cui una pagina può riprodurre la valutazione dell'ambito durante i postback successivi.

Si applica a