PersonalizationAdministration Klasa

Definicja

Implementuje funkcje zarządzania i administracyjne na potrzeby personalizacji składników Web Part. Klasa ta nie może być dziedziczona.

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

Przykłady

W poniższym przykładzie kodu pokazano, jak używać kilku metod w PersonalizationAdministration klasie . Ten przykład składa się ze strony aspx, która odwołuje się do kontrolki użytkownika składników Web Part o nazwie Persadmin.ascx. Poniższy kod zawiera przykładowy plik aspx.

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

Ten kod udostępnia kontrolkę Persadmin.ascx .

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web sprawdzają, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Script Exploits Overview (Omówienie luk w zabezpieczeniach skryptów).

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

Uwagi

Ta klasa udostępnia kilka metod statycznych i właściwości, które uwidaczniają funkcje zarządzania i administracyjne personalizacji składników Web Part. Te metody dotyczą domyślnego dostawcy personalizacji skonfigurowanego w kontrolce WebPartManager dla kontrolki składników Web Part. Jeśli musisz administrować kilkoma magazynami danych, które działają jako dostawcy personalizacji, należy bezpośrednio użyć metod w klasach poszczególnych dostawców personalizacji. Należy pamiętać, że kolekcja skonfigurowanych dostawców personalizacji dla WebPartManager kontrolki jest dostępna z właściwości statycznej Providers .

Należy pamiętać, że personalizacja zakończy się niepowodzeniem, jeśli aplikacja sieci Web nie zostanie uruchomiona na domyślnym poziomie Medium zaufania lub wyższym (można ustawić niestandardowe poziomy zaufania w pliku Web.config przy użyciu <trust level="" /> elementu ). Klasy PersonalizationAdministration i SqlPersonalizationProvider sprawdzają poziom Low zaufania, gdy są inicjowane. Jeśli skonfigurujesz aplikację do uruchamiania na poziomie Lowzaufania i używasz domyślnego SqlPersonalizationProvider dostawcy do zarządzania danymi personalizacji dla aplikacji, przy pierwszej próbie uzyskania dostępu do danych personalizacji aplikacja zakończy się niepowodzeniem, ponieważ proces roboczy ASP.NET uruchomiony w Low zaufaniu System.Data.SqlClient nie ma uprawnień niezbędnych do wywołania do różnych klas w przestrzeni nazw.

Właściwości

ApplicationName

Pobiera lub ustawia nazwę aplikacji określonej przez dostawcę.

Provider

Zwraca wystąpienie domyślnego dostawcy personalizacji.

Providers

Zwraca kolekcję dostawców personalizacji indeksowanych według nazwy.

Metody

FindInactiveUserState(String, String, DateTime)

Zwraca kolekcję informacji o stanie personalizacji dla użytkowników nieaktywnych na podstawie określonych parametrów.

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

Zwraca kolekcję informacji o stanie personalizacji dla użytkowników nieaktywnych na podstawie określonych parametrów.

FindSharedState(String)

Zwraca kolekcję udostępnionych informacji o stanie personalizacji na podstawie określonej ścieżki.

FindSharedState(String, Int32, Int32, Int32)

Zwraca kolekcję udostępnionych informacji o stanie personalizacji na podstawie określonych parametrów.

FindUserState(String, String)

Zwraca kolekcję informacji o stanie personalizacji poszczególnych użytkowników na podstawie nazwy użytkownika i ścieżki strony.

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

Zwraca kolekcję informacji o stanie personalizacji na użytkownika na podstawie określonych parametrów.

GetAllInactiveUserState(DateTime)

Zwraca kolekcję wszystkich informacji o stanie personalizacji poszczególnych użytkowników skojarzonych z nieaktywnymi użytkownikami na podstawie określonej daty.

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

Zwraca podzestaw wszystkich informacji o stanie personalizacji poszczególnych użytkowników skojarzonych z nieaktywnymi użytkownikami na podstawie określonych parametrów.

GetAllState(PersonalizationScope)

Zwraca kolekcję wszystkich informacji o stanie personalizacji z bazowego magazynu danych dla żądanego zakresu personalizacji.

GetAllState(PersonalizationScope, Int32, Int32, Int32)

Zwraca podzestaw wszystkich informacji o stanie personalizacji z bazowego magazynu danych na podstawie określonych parametrów.

GetCountOfInactiveUserState(DateTime)

Zwraca liczbę elementów personalizacji dla poszczególnych użytkowników w bazowym magazynie danych dla nieaktywnych użytkowników na podstawie określonego parametru.

GetCountOfInactiveUserState(String, DateTime)

Zwraca liczbę elementów personalizacji dla poszczególnych użytkowników w bazowym magazynie danych dla nieaktywnych użytkowników na podstawie określonych parametrów.

GetCountOfState(PersonalizationScope)

Zwraca liczbę elementów stanu personalizacji w bazowym magazynie danych, które istnieją dla określonego zakresu.

GetCountOfState(PersonalizationScope, String)

Zwraca liczbę elementów stanu personalizacji w bazowym magazynie danych, które istnieją dla określonych parametrów.

GetCountOfUserState(String)

Zwraca liczbę elementów stanu personalizacji w bazowym magazynie danych, które istnieją dla określonego użytkownika.

ResetAllState(PersonalizationScope)

Resetuje wszystkie dane personalizacji w bazowym magazynie danych przez usunięcie wszystkich wierszy skojarzonych z określonym zakresem.

ResetInactiveUserState(DateTime)

Resetuje wszystkie informacje o stanie personalizacji poszczególnych użytkowników w bazowym magazynie danych na podstawie określonego parametru.

ResetInactiveUserState(String, DateTime)

Resetuje wszystkie informacje o stanie poszczególnych użytkowników w bazowym magazynie danych dla nieaktywnych użytkowników na podstawie określonych parametrów.

ResetSharedState(String)

Resetuje stan udostępniony w bazowym magazynie danych dla określonej ścieżki.

ResetSharedState(String[])

Resetuje stan udostępniony w bazowym magazynie danych dla określonych ścieżek.

ResetState(PersonalizationStateInfoCollection)

Resetuje dane personalizacji w bazowym magazynie danych na podstawie elementów zawartych w kolekcji.

ResetUserState(String)

Resetuje wszystkie stany poszczególnych użytkowników w bazowym magazynie danych dla określonej ścieżki.

ResetUserState(String, String)

Resetuje stan poszczególnych użytkowników w bazowym magazynie danych dla określonej kombinacji nazwy użytkownika i ścieżki.

ResetUserState(String, String[])

Resetuje stan poszczególnych użytkowników w bazowym magazynie danych dla określonej strony i użytkowników.

ResetUserState(String[])

Resetuje wszystkie stany poszczególnych użytkowników w bazowym magazynie danych dla określonych ścieżek.

Dotyczy

Zobacz też