Udostępnij za pośrednictwem


PersonalizationProvider.DetermineInitialScope Metoda

Definicja

Określa, czy początkowy zakres personalizacji powinien być Shared zakresem, czy User zakresem.

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.

Dotyczy