PersonalizationProvider.DetermineInitialScope Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.