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 Webpart-Benutzersteuerelement namens Persadmin.ascxverweist. 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 Standardpersonalisierungsanbieter, 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 Auflistung der konfigurierten Personalisierungsanbieter für ein WebPartManager Steuerelement über die Providers statische Eigenschaft verfügbar ist.

Es ist wichtig zu beachten, dass bei der Personalisierung ein Fehler auftritt, wenn Ihre Webanwendung nicht auf der Standardvertrauensstufe oder Medium höher ausgeführt wird (Sie können benutzerdefinierte Vertrauensstellungen in einer Web.config-Datei mithilfe des <trust level="" /> -Elements festlegen). Die PersonalizationAdministration Klassen und SqlPersonalizationProvider überprüfen, wann sie initialisiert werden, auf vertrauensbasierte Ebene Low . Wenn Sie Ihre Anwendung so konfigurieren, dass sie auf einer Vertrauensstufe von Lowausgeführt wird und Sie den Standardanbieter SqlPersonalizationProvider zum Verwalten der Personalisierungsdaten für Ihre Anwendung verwenden, schlägt die Anwendung beim ersten Versuch, auf Personalisierungsdaten zuzugreifen, fehl, da ein ASP.NET Workerprozess, der in Low Vertrauensstellung ausgefü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:

Weitere Informationen