Partager via


PersonalizationProvider.DetermineInitialScope Méthode

Définition

Détermine si la portée de personnalisation initiale doit être une portée Shared ou 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

Paramètres

webPartManager
WebPartManager

Le WebPartManager qui gère les informations de personnalisation.

loadedState
PersonalizationState

Les informations d'état de personnalisation.

Retours

Un PersonalizationScope qui indique si la portée de personnalisation actuelle est User ou Shared.

Exceptions

webPartManager a la valeur null.

La page associée à webPartManager est null.

Remarques

Cette méthode détermine si l’étendue actuelle doit être Shared ou User, en fonction d’une référence à un WebPartManager contrôle et aux informations d’état de personnalisation qui ont déjà été chargées à partir d’une version antérieure du cycle de vie de la personnalisation. Ces informations sont utilisées par un WebPartPersonalization instance pour les tâches suivantes liées à la personnalisation.

Les règles suivantes sont utilisées pour déterminer l’étendue de personnalisation :

  • L’étendue est initialement supposée être User.

  • Si le compte d’utilisateur en cours d’exécution n’est pas authentifié, l’étendue est définie sur Shared.

  • Si le compte d’utilisateur en cours d’exécution est authentifié, un traitement supplémentaire se produit par ordre de priorité :

    • Si la page est en mode publication, la demande de page contient les informations d’étendue d’un rendu précédent de la page. Si ces informations d’étendue indiquent que l’étendue Shared a été utilisée, l’étendue prend Sharedla valeur .

    • Si le contrôle de la page en cours d’exécution avait été transféré vers elle à partir d’une autre page (par exemple, si le transfert du contrôle s’est produit en raison de l’appel de la Transfer méthode ; notez que cette case activée spécifique ne se produit pas pour la publication interpage), et si la page précédemment exécutée avait un WebPartManager instance, l’étendue est définie sur la valeur de la Personalization.Scope propriété de la instance précédente WebPartManager .

    • Si les critères précédents ne sont pas remplis, l’étendue correspond à la valeur de la InitialScope propriété pour le contrôle actuel WebPartManager .

Une fois les évaluations précédentes effectuées, et si l’étendue prend la valeur d’étendue Shared , le traitement suivant se produit :

  • Si le compte d’utilisateur en cours d’exécution a la EnterSharedScopeUserCapability fonctionnalité, l’étendue reste définie sur Shared.

  • Si le compte d’utilisateur en cours d’exécution n’a pas la EnterSharedScopeUserCapability fonctionnalité , l’étendue est réinitialisée à User.

  • Si le résultat de toutes les évaluations d’étendue précédentes est Shared, ce résultat est stocké sous la forme d’un champ masqué sur la page en cours d’exécution. Il s’agit du mécanisme par lequel une page peut relire l’évaluation de l’étendue lors des publications ultérieures.

S’applique à