PersonalizationAdministration Třída

Definice

Implementuje funkce správy a správy pro přizpůsobení Webové části. Tuto třídu nelze zdědit.

public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
Dědičnost
PersonalizationAdministration

Příklady

Následující příklad kódu ukazuje, jak použít několik metod ve PersonalizationAdministration třídě. Tento příklad se skládá ze stránky .aspx, která odkazuje na Webové části uživatelský ovládací prvek s názvem Persadmin.ascx. Následující kód poskytuje soubor .aspx pro příklad.

<%@ Page Language="C#" %>
<%@ Register TagPrefix="admin" TagName="administrator" Src="~/PersAdmin.ascx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
       <div>
        &nbsp;<asp:LoginName ID="LoginName1" runat="server" />
        &nbsp;
        <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
        &nbsp;&nbsp;&nbsp;&nbsp;<br />
        <br />
        </div>
        <asp:WebPartManager ID="WebPartManager1" runat="server"></asp:WebPartManager>
        <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
        <admin:administrator id="admincontrol" runat="server" />
        </ZoneTemplate>
        </asp:WebPartZone>
    </form>
</body>
</html>

Tento kód poskytuje Persadmin.ascx ovládací prvek.

Důležité

V tomto příkladu je textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřují, že vstup uživatele neobsahuje skripty ani elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.

<%@ Control Language="C#" ClassName="PersAdmin" %>

<script runat="server">
    WebPartManager _manager;
    string _provider;
    string _userscope;

  void Page_Init(object sender, EventArgs e)
  {
    Page.InitComplete += new EventHandler(InitComplete);
  }

    void InitComplete(object sender, System.EventArgs e)
    {
        _manager = WebPartManager.GetCurrentWebPartManager(Page);
        // <snippet4>
        _provider = PersonalizationAdministration.Provider.Name;
        TextBox1.Text = _provider;
        // </snippet4>
        // <snippet6>
        if (_manager.Personalization.Scope == PersonalizationScope.Shared)
        {
            TextBox2.Text = "Shared Scope";
        }
        else
            TextBox2.Text = "User Scope";
        // </snippet6>
           // <snippet5>
        Label4.Visible = false;
        TextBox4.Text = PersonalizationAdministration.GetCountOfState(PersonalizationScope.User).ToString();
            // </snippet5>
    }

// <snippet2>
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (TextBox3.Text != null)
        {
            // <snippet3>
            PersonalizationStateInfoCollection findresult;
          findresult = PersonalizationAdministration.FindUserState(null, TextBox3.Text);
          if (findresult.Count != 0)
          {
              Label4.Text = findresult.Count + "  user(s) found";
              Label4.Visible = true;
          }
              // </snippet3>
          else
          {
              Label4.Text = "No users found.";
              Label4.Visible = true;
          }
        }
      else
      {
          Label4.Text = "You must enter a user name to find.";
      }

    }
    // </snippet2>

</script>
<asp:Label ID="Label1" runat="server" Text="Personalization Provider" Width="162px"
  AssociatedControlID="TextBox1" />
<br />
<asp:TextBox ID="TextBox1" runat="server" Width="268px"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label2" runat="server" Text="Scope" AssociatedControlID="TextBox2" />
<br />
<asp:TextBox ID="TextBox2" runat="server" Width="90px"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label3" runat="server" Text="User to Find" Width="135px"
  AssociatedControlID="TextBox3" />
<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
&nbsp;
<asp:Label ID="Label4" runat="server" Width="77px" ForeColor="Red" />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Find User" OnClick="Button1_Click" />&nbsp;&nbsp;&nbsp;
<br />
<br />
<asp:Label ID="Label5" runat="server" Text="Personalization Statistics" Width="204px" />
<br />
<br />
<asp:Label ID="Label6" runat="server" Text="Number of User Personalization States" Width="246px"
  AssociatedControlID="TextBox4" Height="21px" />
<br />
<asp:TextBox ID="TextBox4" runat="server" Width="63px"></asp:TextBox>
<br />
<br />
<br />
<br />

Poznámky

Tato třída poskytuje několik statických metod a vlastností, které zpřístupňují funkce správy a správy pro Webové části přizpůsobení. Tyto metody se vztahují na výchozího zprostředkovatele přizpůsobení nakonfigurovaného v WebPartManager ovládacím prvku pro ovládací prvek Webové části. Pokud potřebujete spravovat několik úložišť dat, která fungují jako poskytovatelé přizpůsobení, měli byste použít metody přímo u jednotlivých tříd zprostředkovatele přizpůsobení. Všimněte si, že kolekce nakonfigurovaných zprostředkovatelů přizpůsobení pro WebPartManager ovládací prvek je k dispozici ze Providers statické vlastnosti.

Je důležité si uvědomit, že přizpůsobení selže, pokud webová aplikace nespustí na výchozí úrovni Medium důvěryhodnosti nebo vyšší (pomocí elementu <trust level="" /> můžete nastavit vlastní úrovně důvěryhodnosti v souboru Web.config). Třídy PersonalizationAdministration i SqlPersonalizationProvider třídy kontrolují úroveň Low důvěryhodnosti při inicializaci. Pokud nakonfigurujete aplikaci tak, aby běžela na úrovni Lowdůvěryhodnosti a použijete výchozího SqlPersonalizationProvider poskytovatele ke správě osobních údajů pro vaši aplikaci, při prvním pokusu aplikace o přístup k datům přizpůsobení se nezdaří, protože pracovní proces ASP.NET spuštěný v Low důvěryhodnosti nemá oprávnění potřebná k volání do různých tříd v System.Data.SqlClient oboru názvů.

Vlastnosti

ApplicationName

Získá nebo nastaví název aplikace určené poskytovatelem.

Provider

Vrátí instanci výchozího zprostředkovatele přizpůsobení.

Providers

Vrátí kolekci zprostředkovatelů přizpůsobení indexovaných podle názvu.

Metody

FindInactiveUserState(String, String, DateTime)

Vrátí kolekci informací o stavu individuálního nastavení pro uživatele pro neaktivní uživatele na základě zadaných parametrů.

FindInactiveUserState(String, String, DateTime, Int32, Int32, Int32)

Vrátí kolekci informací o stavu individuálního nastavení pro uživatele pro neaktivní uživatele na základě zadaných parametrů.

FindSharedState(String)

Vrátí kolekci informací o stavu sdíleného přizpůsobení na základě zadané cesty.

FindSharedState(String, Int32, Int32, Int32)

Vrátí kolekci informací o sdíleném stavu přizpůsobení na základě zadaných parametrů.

FindUserState(String, String)

Vrátí kolekci informací o stavu individuálního nastavení podle uživatele na základě uživatelského jména a cesty stránky.

FindUserState(String, String, Int32, Int32, Int32)

Vrátí kolekci informací o stavu přizpůsobení jednotlivých uživatelů na základě zadaných parametrů.

GetAllInactiveUserState(DateTime)

Vrátí kolekci všech informací o stavu přizpůsobení jednotlivých uživatelů přidružených k neaktivním uživatelům na základě zadaného data.

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

Vrátí podmnožinu všech informací o stavu přizpůsobení jednotlivých uživatelů přidružených k neaktivním uživatelům na základě zadaných parametrů.

GetAllState(PersonalizationScope)

Vrátí kolekci všech informací o stavu přizpůsobení ze základního úložiště dat pro požadovaný obor přizpůsobení.

GetAllState(PersonalizationScope, Int32, Int32, Int32)

Vrátí podmnožinu všech informací o stavu přizpůsobení ze základního úložiště dat na základě zadaných parametrů.

GetCountOfInactiveUserState(DateTime)

Vrátí počet položek individuálního nastavení pro jednotlivé uživatele v podkladovém úložišti dat pro neaktivní uživatele na základě zadaného parametru.

GetCountOfInactiveUserState(String, DateTime)

Vrátí počet položek individuálního nastavení pro jednotlivé uživatele v podkladovém úložišti dat pro neaktivní uživatele na základě zadaných parametrů.

GetCountOfState(PersonalizationScope)

Vrátí počet položek stavu přizpůsobení v podkladovém úložišti dat, které existují pro zadaný obor.

GetCountOfState(PersonalizationScope, String)

Vrátí počet položek stavu přizpůsobení v podkladovém úložišti dat, které existují pro zadané parametry.

GetCountOfUserState(String)

Vrátí počet položek stavu přizpůsobení v podkladovém úložišti dat, které existují pro zadaného uživatele.

ResetAllState(PersonalizationScope)

Obnoví všechna data přizpůsobení v podkladovém úložišti dat odstraněním všech řádků přidružených k zadanému oboru.

ResetInactiveUserState(DateTime)

Obnoví všechny informace o stavu přizpůsobení jednotlivých uživatelů v podkladovém úložišti dat na základě zadaného parametru.

ResetInactiveUserState(String, DateTime)

Obnoví všechny informace o stavu jednotlivých uživatelů v podkladovém úložišti dat pro neaktivní uživatele na základě zadaných parametrů.

ResetSharedState(String)

Obnoví sdílený stav v podkladovém úložišti dat pro zadanou cestu.

ResetSharedState(String[])

Obnoví sdílený stav v podkladovém úložišti dat pro zadané cesty.

ResetState(PersonalizationStateInfoCollection)

Obnoví data přizpůsobení v podkladovém úložišti dat na základě položek obsažených v kolekci.

ResetUserState(String)

Obnoví stav všech uživatelů v podkladovém úložišti dat pro zadanou cestu.

ResetUserState(String, String)

Obnoví stav jednotlivých uživatelů v podkladovém úložišti dat pro zadanou kombinaci uživatelského jména a cesty.

ResetUserState(String, String[])

Obnoví stav jednotlivých uživatelů v podkladovém úložišti dat pro stránku a uživatele zadané.

ResetUserState(String[])

Obnoví veškerý stav jednotlivých uživatelů v podkladovém úložišti dat pro zadané cesty.

Platí pro

Viz také