PersonalizationAdministration Klasse

Definition

Implementiert die Verwaltungsfunktionalität für die Webparts-Personalisierung. Diese Klasse kann nicht vererbt werden.

public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
Vererbung
PersonalizationAdministration

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mehrere Methoden in der PersonalizationAdministration Klasse verwendet werden. Dieses Beispiel besteht aus einer ASPX-Seite, die auf ein Benutzersteuerelement mit dem Namen Persadmin.ascx"Webparts" verweist. Der folgende Code stellt die ASPX-Datei für das Beispiel bereit.

<%@ 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>

Dieser Code stellt das Persadmin.ascx Steuerelement bereit.

Wichtig

Dieses Beispiel umfasst ein Textfeld, das Benutzereingaben akzeptiert, die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ 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 />

Hinweise

Diese Klasse stellt mehrere statische Methoden und Eigenschaften bereit, die Verwaltungs- und Verwaltungsfunktionen für die Personalisierung von Webparts verfügbar machen. Diese Methoden gelten für den standardmäßigen Personalisierungsanbieter, der WebPartManager im Steuerelement für ein Webpart-Steuerelement konfiguriert ist. Wenn Sie mehrere Datenspeicher verwalten müssen, die als Personalisierungsanbieter fungieren, sollten Sie die Methoden für die einzelnen Personalisierungsanbieterklassen direkt verwenden. Beachten Sie, dass die Sammlung konfigurierter Personalisierungsanbieter für ein WebPartManager Steuerelement aus der Providers statischen Eigenschaft verfügbar ist.

Es ist wichtig zu beachten, dass die Personalisierung fehlschlägt, wenn Ihre Webanwendung nicht auf der Standardvertrauenswürdigkeitsebene von Medium oder höher ausgeführt wird (Sie können benutzerdefinierte Vertrauensstufen in einer Web.config Datei mithilfe des <trust level="" /> Elements festlegen). Die PersonalizationAdministration Und SqlPersonalizationProvider Klassen überprüfen beide, Low wann sie initialisiert werden. Wenn Sie Ihre Anwendung so konfigurieren, dass sie auf Vertrauenswürdigkeitsebene ausgeführt wird, und Sie verwenden den StandardanbieterSqlPersonalizationProvider, um die Personalisierungsdaten für Ihre Anwendung zu verwalten, wenn die Anwendung zum ersten Mal versucht, auf Personalisierungsdaten zuzugreifen, schlägt es fehl, da ein ASP.NET Arbeitsprozess, der in Low Vertrauensstellung Lowausgeführt wird, nicht über die erforderlichen Berechtigungen zum Aufrufen der verschiedenen Klassen im System.Data.SqlClient Namespace verfügt.

Eigenschaften

ApplicationName

Ruft den Namen der vom Anbieter angegebenen Anwendung ab oder legt diesen Namen fest.

Provider

Gibt eine Instanz des Standardpersonalisierungsanbieters zurück.

Providers

Gibt eine nach Namen indizierte Auflistung der Personalisierungsanbieter zurück.

Methoden

FindInactiveUserState(String, String, DateTime)

Gibt auf der Grundlage der angegebenen Parameter eine Auflistung der benutzerspezifischen Personalisierungszustandsinformationen für inaktive Benutzer zurück.

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

Gibt auf der Grundlage der angegebenen Parameter eine Auflistung der benutzerspezifischen Personalisierungszustandsinformationen für inaktive Benutzer zurück.

FindSharedState(String)

Gibt eine Auflistung von freigegebenen Personalisierungszustandsinformationen auf der Grundlage des angegebenen Pfades zurück.

FindSharedState(String, Int32, Int32, Int32)

Gibt eine Auflistung von freigegebenen Personalisierungszustandsinformationen auf der Grundlage der angegebenen Parameter zurück.

FindUserState(String, String)

Gibt eine Auflistung von benutzerspezifischen Personalisierungszustandsinformationen auf der Grundlage des Benutzernamens und des Seitenpfades zurück.

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

Gibt eine Auflistung von benutzerspezifischen Personalisierungszustandsinformationen auf der Grundlage der angegebenen Parameter zurück.

GetAllInactiveUserState(DateTime)

Gibt auf der Grundlage des angegebenen Datums eine Auflistung der benutzerspezifischen Personalisierungszustandsinformationen zurück, die inaktiven Benutzern zugeordnet sind.

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

Gibt auf der Grundlage der angegebenen Parameter ein Subset der benutzerspezifischen Personalisierungszustandsinformationen zurück, die inaktiven Benutzern zugeordnet sind.

GetAllState(PersonalizationScope)

Gibt eine Auflistung aller Personalisierungszustandsinformationen aus dem zugrunde liegenden Datenspeicher für den angeforderten Personalisierungsbereich zurück.

GetAllState(PersonalizationScope, Int32, Int32, Int32)

Gibt auf der Grundlage der angegebenen Parameter ein Subset aller Personalisierungszustandsinformationen aus dem zugrunde liegenden Datenspeicher zurück.

GetCountOfInactiveUserState(DateTime)

Gibt auf der Grundlage der angegebenen Parameter die Anzahl der benutzerspezifischen Personalisierungselemente im zugrunde liegenden Datenspeicher für inaktive Benutzer zurück.

GetCountOfInactiveUserState(String, DateTime)

Gibt auf der Grundlage der angegebenen Parameter die Anzahl der benutzerspezifischen Personalisierungselemente im zugrunde liegenden Datenspeicher für inaktive Benutzer zurück.

GetCountOfState(PersonalizationScope)

Gibt die Anzahl der Personalisierungszustandselemente im zugrunde liegenden Datenspeicher zurück, die für den angegebenen Bereich vorhanden sind.

GetCountOfState(PersonalizationScope, String)

Gibt die Anzahl der Personalisierungszustandselemente im zugrunde liegenden Datenspeicher zurück, die für die angegebenen Parameter vorhanden sind.

GetCountOfUserState(String)

Gibt die Anzahl der Personalisierungszustandselemente im zugrunde liegenden Datenspeicher zurück, die für den angegebenen Benutzer vorhanden sind.

ResetAllState(PersonalizationScope)

Setzt alle Personalisierungsdaten im zugrunde liegenden Datenspeicher zurück, indem alle dem angegebenen Bereich zugeordneten Zeilen gelöscht werden.

ResetInactiveUserState(DateTime)

Setzt auf der Grundlage des angegebenen Parameters alle benutzerspezifischen Personalisierungszustandsinformationen im zugrunde liegenden Datenspeicher zurück.

ResetInactiveUserState(String, DateTime)

Setzt auf der Grundlage der angegebenen Parameter alle benutzerspezifischen Zustandsinformationen für inaktive Benutzer im zugrunde liegenden Datenspeicher zurück.

ResetSharedState(String)

Setzt den Freigabezustand im zugrunde liegenden Datenspeicher für den angegebenen Pfad zurück.

ResetSharedState(String[])

Setzt den Freigabezustand im zugrunde liegenden Datenspeicher für die angegebenen Pfade zurück.

ResetState(PersonalizationStateInfoCollection)

Setzt Personalisierungsdaten im zugrunde liegenden Datenspeicher zurück, basierend auf den in der Sammlung enthaltenen Elementen.

ResetUserState(String)

Setzt alle benutzerspezifischen Zustände im zugrunde liegenden Datenspeicher für den angegebenen Pfad zurück.

ResetUserState(String, String)

Setzt die benutzerspezifischen Zustände im zugrunde liegenden Datenspeicher für die angegebene Kombination aus Benutzernamen und Pfad zurück.

ResetUserState(String, String[])

Setzt den benutzerspezifischen Zustand im zugrunde liegenden Datenspeicher für die angegebene Seite und die angegebenen Benutzer zurück.

ResetUserState(String[])

Setzt alle benutzerspezifischen Zustände im zugrunde liegenden Datenspeicher für die angegebenen Pfade zurück.

Gilt für

Siehe auch