PersonalizationProvider.DetermineInitialScope Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Parametry
- webPartManager
- WebPartManager
Element WebPartManager , który zarządza informacjami o personalizacji.
- loadedState
- PersonalizationState
Informacje o stanie personalizacji.
Zwraca
Wartość wskazująca PersonalizationScope , czy bieżący zakres personalizacji to User , czy Shared.
Wyjątki
webPartManager
to null
.
Strona skojarzona z elementem webPartManager
to null
.
Uwagi
Ta metoda określa, czy bieżący zakres powinien mieć wartość Shared lub User, przy użyciu odwołania do WebPartManager kontrolki i informacji o stanie personalizacji, które zostały już załadowane z wcześniejszej części cyklu życia personalizacji. Te informacje są używane przez WebPartPersonalization wystąpienie do kolejnych zadań związanych z personalizacją.
Do określania zakresu personalizacji służą następujące reguły:
Początkowo zakłada się, że zakres ma wartość User.
Jeśli aktualnie wykonywane konto użytkownika nie jest uwierzytelnione, zakres jest ustawiony na Sharedwartość .
Jeśli aktualnie wykonywane konto użytkownika jest uwierzytelniane, dodatkowe przetwarzanie odbywa się w kolejności pierwszeństwa:
Jeśli strona jest w trybie ogłaszania zwrotnego, żądanie strony zawiera informacje o zakresie z poprzedniego renderowania strony. Jeśli te informacje o zakresie wskazują, że Shared zakres został użyty, zakres zostanie obliczony na wartość Shared.
Jeśli aktualnie wykonująca strona miała kontrolkę przeniesioną do niej z innej strony (na przykład jeśli transfer kontrolki wystąpił z powodu wywołania Transfer metody; należy pamiętać, że to konkretne sprawdzanie nie ma miejsca w przypadku publikowania między stronami), a jeśli poprzednio wykonująca strona miała WebPartManager wystąpienie, zakres jest ustawiony na wartość
Personalization.Scope
właściwości z poprzedniego WebPartManager wystąpienia.Jeśli poprzednie kryteria nie zostaną spełnione, zakres zostanie obliczony na wartość InitialScope właściwości bieżącej WebPartManager kontrolki.
Po wykonaniu poprzednich ocen, a jeśli zakres zostanie obliczony na Shared zakres, nastąpi następujące przetwarzanie:
Jeśli aktualnie wykonywane konto użytkownika ma EnterSharedScopeUserCapability możliwość, zakres pozostaje ustawiony na Sharedwartość .
Jeśli aktualnie wykonywane konto użytkownika nie ma EnterSharedScopeUserCapability możliwości, zakres zostanie zresetowany do .User
Jeśli wynikiem wszystkich poprzednich ocen zakresu jest Shared, ten wynik jest przechowywany jako ukryte pole na aktualnie wykonywanej stronie. Jest to mechanizm, w którym strona może odtworzyć ocenę zakresu podczas kolejnych ogłaszania zwrotnego.