Condividi tramite


PersonalizationProvider.DetermineInitialScope Metodo

Definizione

Determina se l'ambito di personalizzazione iniziale deve essere Shared o User ambito.

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 di personalizzazione.

loadedState
PersonalizationState

Informazioni sullo stato di personalizzazione.

Restituisce

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

Eccezioni

webPartManager è null.

La pagina associata a webPartManager è null.

Commenti

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

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

  • Si presuppone che l'ambito sia inizialmente User.

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

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

    • Se la pagina è in modalità 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à dell'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 effettuato 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