Поделиться через


PersonalizationAdministration Класс

Определение

Реализует управляющую и административную функциональность для персонализации веб-частей. Этот класс не наследуется.

public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
Наследование
PersonalizationAdministration

Примеры

В следующем примере кода показано, как использовать несколько методов в PersonalizationAdministration классе . Этот пример состоит из страницы .aspx, которая ссылается на пользовательский элемент управления веб-частей с именем Persadmin.ascx. Следующий код предоставляет файл .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>

Этот код предоставляет Persadmin.ascx элемент управления .

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.

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

Комментарии

Этот класс предоставляет несколько статических методов и свойств, которые предоставляют функции управления и администрирования для персонализации веб-частей. Эти методы применяются к поставщику персонализации по умолчанию, настроенного в элементе WebPartManager управления веб-частей. Если необходимо администрировать несколько хранилищ данных, которые действуют в качестве поставщиков персонализации, следует напрямую использовать методы в отдельных классах поставщиков персонализации. Обратите внимание, что коллекция настроенных поставщиков персонализации для WebPartManager элемента управления доступна из Providers статического свойства .

Важно помнить, что персонализация завершится ошибкой, если веб-приложение не выполняется на уровне Medium доверия по умолчанию или выше (вы можете задать настраиваемые уровни доверия в файле Web.config с помощью <trust level="" /> элемента ). Классы PersonalizationAdministration и SqlPersonalizationProvider проверяют уровень доверия при инициализации Low . Если вы настраиваете приложение для запуска на уровне Lowдоверия и используете поставщика по умолчанию SqlPersonalizationProvider для управления данными персонализации приложения, то при первой попытке приложения получить доступ к данным персонализации произойдет сбой, так как ASP.NET рабочий процесс, выполняющийся в Low доверии, не имеет разрешений, необходимых для вызова различных классов в System.Data.SqlClient пространстве имен.

Свойства

ApplicationName

Получает или задает имя приложения, указанное поставщиком.

Provider

Возвращает экземпляр поставщика личных настроек по умолчанию.

Providers

Возвращает коллекцию поставщиков личных настроек, индексированных по имени.

Методы

FindInactiveUserState(String, String, DateTime)

Возвращает коллекцию информации состояния персонализации "на пользователя" для неактивных пользователей на основе указанных параметров.

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

Возвращает коллекцию информации состояния персонализации "на пользователя" для неактивных пользователей на основе указанных параметров.

FindSharedState(String)

Возвращает коллекцию общих данных состояния персонализации на основе указанного пути.

FindSharedState(String, Int32, Int32, Int32)

Возвращает коллекцию общих данных состояния персонализации на основе указанных параметров.

FindUserState(String, String)

Возвращает коллекцию данных состояния персонализации "на пользователя" на основе имени пользователя и пути к странице.

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

Возвращает коллекцию данных состояния персонализации "на пользователя" на основе указанных параметров.

GetAllInactiveUserState(DateTime)

Возвращает коллекцию всех данных состояния персонализации "на пользователя",связанных с неактивными пользователями на основе указанной даты.

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

Возвращает подмножество всех данных состояния персонализации "на пользователя",связанных с неактивными пользователями на основе указанных параметров.

GetAllState(PersonalizationScope)

Возвращает коллекцию всех данных состояния персонализации из основного хранилища данных для запрошенной области персонализации.

GetAllState(PersonalizationScope, Int32, Int32, Int32)

Возвращает подмножество всех данных состояния персонализации из основного хранилища данных на основе указанных параметров.

GetCountOfInactiveUserState(DateTime)

Возвращает количество элементов персонализации "на пользователя" в основном хранилище данных для неактивных пользователей на основе указанного параметра.

GetCountOfInactiveUserState(String, DateTime)

Возвращает количество элементов персонализации "на пользователя" в основном хранилище данных для неактивных пользователей на основе указанных параметров.

GetCountOfState(PersonalizationScope)

Возвращает количество элементов состояния персонализации в основном хранилище данных, на основе указанной области.

GetCountOfState(PersonalizationScope, String)

Возвращает количество элементов состояния персонализации в основном хранилище данных, на основе указанных параметров.

GetCountOfUserState(String)

Возвращает количество элементов состояния персонализации в основном хранилище данных для указанного пользователя.

ResetAllState(PersonalizationScope)

Сбрасывает все данные персонализации в основном хранилище данных путем удаления всех строк, связанных с заданной областью.

ResetInactiveUserState(DateTime)

Сбрасывает все данные состояния персонализации "на пользователя" в основном хранилище данных на основе указанного параметра.

ResetInactiveUserState(String, DateTime)

Сбрасывает все данные состояния персонализации "на пользователя" в основном хранилище данных дл неактивных пользователей на основе указанных параметров.

ResetSharedState(String)

Сбрасывает состояние с общим доступом в базовом хранилище данных для указанного пути.

ResetSharedState(String[])

Сбрасывает состояние с общим доступом в базовом хранилище данных для указанных путей.

ResetState(PersonalizationStateInfoCollection)

Сбрасывает данные персонализации в базовом хранилище данных с учетом элементов, содержащихся в коллекции.

ResetUserState(String)

Сбрасывает все данные состояния "на пользователя" в основном хранилище данных на основе указанного пути.

ResetUserState(String, String)

Сбрасывает данные состояния "на пользователя" в основном хранилище данных на основе указанной комбинации имени пользователя и пути.

ResetUserState(String, String[])

Сбрасывает данные состояния "на пользователя" в основном хранилище данных для указанных страницы и пользователей.

ResetUserState(String[])

Сбрасывает все данные состояния "на пользователя" в основном хранилище данных на основе указанных путей.

Применяется к

См. также раздел