Partage via


PersonalizationProvider.DetermineInitialScope Méthode

Définition

Détermine si l’étendue de personnalisation initiale doit être Shared ou User étendue.

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

Qui WebPartManager gère les informations de personnalisation.

loadedState
PersonalizationState

Informations d’état de personnalisation.

Retours

Indiquant PersonalizationScope si l’étendue 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 date antérieure dans le cycle de vie de personnalisation. Ces informations sont utilisées par une WebPartPersonalization instance pour les tâches liées à la personnalisation suivantes.

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 dans l’ordre de priorité :

    • Si la page est en mode postback, la demande de page contient des informations d’étendue à partir d’un rendu précédent de la page. Si ces informations d’étendue indiquent que Shared l’étendue a été utilisée, l’étendue est évaluée à Shared.

    • Si le contrôle en cours d’exécution de la page avait été transféré à 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 vérification spécifique ne se produit pas pour la publication interpage) et si la page en cours d’exécution avait une WebPartManager instance, l’étendue est définie sur la valeur de la Personalization.Scope propriété de l’instance précédente WebPartManager .

    • Si les critères précédents ne sont pas remplis, l’étendue prend 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 est évaluée à Shared l’étendue, le traitement suivant se produit :

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

  • 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 dans lequel une page peut relire l’évaluation de l’étendue pendant les publications ultérieures.

S’applique à