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
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.Scopeproprié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.