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>
<asp:LoginName ID="LoginName1" runat="server" />
<asp:LoginStatus ID="LoginStatus1" runat="server" LogoutAction="RedirectToLoginPage" />
<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>
<asp:Label ID="Label4" runat="server" Width="77px" ForeColor="Red" />
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Find User" OnClick="Button1_Click" />
<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[]) |
Сбрасывает все данные состояния "на пользователя" в основном хранилище данных на основе указанных путей. |