PersonalizationAdministration Klasse

Definition

Implementiert Verwaltungs- und Verwaltungsfunktionen für die Personalisierung von Webparts. 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 die Verwendung mehrerer Methoden in der PersonalizationAdministration Klasse veranschaulicht. Dieses Beispiel besteht aus einer .aspx Seite, die auf ein Webpart-Benutzersteuerelement mit dem Namen 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.

Important

In diesem Beispiel handelt es sich um ein Textfeld, das Benutzereingaben akzeptiert, bei denen es sich um eine potenzielle Sicherheitsrisiken handelt. Standardmäßig überprüfen ASP.NET Webseiten, dass die Benutzereingabe keine Skript- oder HTML-Elemente enthält. Weitere Informationen finden Sie unter Script Exploits Overview.

<%@ 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 bietet mehrere statische Methoden und Eigenschaften, 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 Sammlung der konfigurierten Personalisierungsanbieter für ein WebPartManager Steuerelement über die Providers statische Eigenschaft verfügbar ist.

Es ist wichtig zu beachten, dass die Personalisierung fehlschlägt, wenn Ihre Webanwendung nicht auf der Standardvertrauensstufe 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 Klassen und SqlPersonalizationProvider Klassen überprüfen beide, wann sie initialisiert werden, auf eine Vertrauensstufe Low . Wenn Sie ihre Anwendung so konfigurieren, dass sie auf vertrauende Ebene von Low ausgeführt wird, und Sie verwenden den Standardanbieter SqlPersonalizationProvider, um die Personalisierungsdaten für Ihre Anwendung zu verwalten. Wenn die Anwendung zum ersten Mal versucht, auf Personalisierungsdaten zuzugreifen, tritt ein Fehler auf, da ein ASP.NET Arbeitsprozess, der in Low Trust ausgeführt wird, nicht über die erforderlichen Berechtigungen zum Aufrufen der verschiedenen Klassen im namespace System.Data.SqlClient verfügt.

Eigenschaften

Name Beschreibung
ApplicationName

Dient zum Abrufen oder Festlegen des Namens der Anwendung, die vom Anbieter angegeben wird.

Provider

Gibt eine Instanz des Standardpersonalisierungsanbieters zurück.

Providers

Gibt eine Auflistung von Personalisierungsanbietern zurück, die nach Namen indiziert sind.

Methoden

Name Beschreibung
FindInactiveUserState(String, String, DateTime, Int32, Int32, Int32)

Gibt eine Auflistung von Personalisierungsstatusinformationen pro Benutzer basierend auf den angegebenen Parametern für inaktive Benutzer zurück.

FindInactiveUserState(String, String, DateTime)

Gibt eine Auflistung von Personalisierungsstatusinformationen pro Benutzer basierend auf den angegebenen Parametern für inaktive Benutzer zurück.

FindSharedState(String, Int32, Int32, Int32)

Gibt eine Auflistung freigegebener Personalisierungsstatusinformationen basierend auf den angegebenen Parametern zurück.

FindSharedState(String)

Gibt eine Auflistung freigegebener Personalisierungsstatusinformationen basierend auf dem angegebenen Pfad zurück.

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

Gibt eine Auflistung von Personalisierungsstatusinformationen pro Benutzer basierend auf den angegebenen Parametern zurück.

FindUserState(String, String)

Gibt eine Auflistung von Personalisierungsstatusinformationen pro Benutzer basierend auf dem Benutzernamen und dem Seitenpfad zurück.

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

Gibt eine Teilmenge aller Personalisierungsstatusinformationen pro Benutzer zurück, die mit inaktiven Benutzern verknüpft sind, basierend auf den angegebenen Parametern.

GetAllInactiveUserState(DateTime)

Gibt eine Auflistung aller benutzerspezifischen Personalisierungsstatusinformationen zurück, die mit inaktiven Benutzern verknüpft sind, basierend auf dem angegebenen Datum.

GetAllState(PersonalizationScope, Int32, Int32, Int32)

Gibt eine Teilmenge aller Personalisierungsstatusinformationen aus dem zugrunde liegenden Datenspeicher basierend auf den angegebenen Parametern zurück.

GetAllState(PersonalizationScope)

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

GetCountOfInactiveUserState(DateTime)

Gibt basierend auf dem angegebenen Parameter eine Anzahl der elemente pro Benutzer im zugrunde liegenden Datenspeicher für inaktive Benutzer zurück.

GetCountOfInactiveUserState(String, DateTime)

Gibt die Anzahl der Benutzerpersonalisierungselemente im zugrunde liegenden Datenspeicher für inaktive Benutzer basierend auf den angegebenen Parametern zurück.

GetCountOfState(PersonalizationScope, String)

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

GetCountOfState(PersonalizationScope)

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

GetCountOfUserState(String)

Gibt eine Anzahl der Personalisierungsstatuselemente 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 Zeilen gelöscht werden, die dem angegebenen Bereich zugeordnet sind.

ResetInactiveUserState(DateTime)

Setzt alle Personalisierungsstatusinformationen pro Benutzer im zugrunde liegenden Datenspeicher basierend auf dem angegebenen Parameter zurück.

ResetInactiveUserState(String, DateTime)

Setzt alle Statusinformationen pro Benutzer im zugrunde liegenden Datenspeicher für inaktive Benutzer basierend auf den angegebenen Parametern zurück.

ResetSharedState(String)

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

ResetSharedState(String[])

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

ResetState(PersonalizationStateInfoCollection)

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

ResetUserState(String, String)

Setzt den Status pro Benutzer im zugrunde liegenden Datenspeicher für die angegebene Kombination aus Benutzername und Pfad zurück.

ResetUserState(String, String[])

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

ResetUserState(String)

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

ResetUserState(String[])

Setzt den gesamten Status pro Benutzer im zugrunde liegenden Datenspeicher für die angegebenen Pfade zurück.

Gilt für:

Weitere Informationen