PersonalizationAdministration Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Implementa funcionalidad de administración y de tareas administrativas para la personalización de los elementos Web. Esta clase no puede heredarse.
public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
- Herencia
-
PersonalizationAdministration
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar varios métodos en la PersonalizationAdministration clase . Este ejemplo consta de una página de .aspx que hace referencia a un control de usuario de elementos web denominado Persadmin.ascx
. El código siguiente proporciona el archivo .aspx para el ejemplo.
<%@ 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>
Este código proporciona el Persadmin.ascx
control .
Importante
Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.
<%@ 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 />
Comentarios
Esta clase proporciona varios métodos estáticos y propiedades que exponen la administración y la funcionalidad administrativa para la personalización de elementos web. Estos métodos se aplican al proveedor de personalización predeterminado configurado en el WebPartManager control para un control de elementos web. Si necesita administrar varios almacenes de datos que actúan como proveedores de personalización, debe usar los métodos de las clases del proveedor de personalización individual directamente. Tenga en cuenta que la colección de proveedores de personalización configurados para un WebPartManager control está disponible en la Providers propiedad estática.
Es importante tener en cuenta que se producirá un error en la personalización si la aplicación web no se ejecuta en el nivel de confianza predeterminado de Medium o superior (puede establecer niveles de confianza personalizados en un archivo Web.config mediante el <trust level="" />
elemento ). Las PersonalizationAdministration clases y SqlPersonalizationProvider comprueban si hay un nivel de confianza de Low cuando se inicializan. Si configura la aplicación para que se ejecute en un nivel de confianza de Lowy use el proveedor predeterminado SqlPersonalizationProvider para administrar los datos de personalización de la aplicación, la primera vez que la aplicación intente acceder a los datos de personalización, se producirá un error porque un proceso de trabajo de ASP.NET que se ejecuta en Low confianza no tiene los permisos necesarios para llamar a las distintas clases del System.Data.SqlClient espacio de nombres.
Propiedades
ApplicationName |
Obtiene o establece el nombre de la aplicación que especifica el proveedor. |
Provider |
Devuelve una instancia del proveedor de personalización predeterminado. |
Providers |
Devuelve una colección de proveedores de personalización indizada por nombre. |
Métodos
FindInactiveUserState(String, String, DateTime) |
Devuelve una colección de información de estado de personalización por usuario para los usuarios inactivos, basándose en los parámetros especificados. |
FindInactiveUserState(String, String, DateTime, Int32, Int32, Int32) |
Devuelve una colección de información de estado de personalización por usuario para los usuarios inactivos, basándose en los parámetros especificados. |
FindSharedState(String) |
Devuelve una colección de información de estado de personalización compartida, en función de la ruta de acceso especificada. |
FindSharedState(String, Int32, Int32, Int32) |
Devuelve una colección de información de estado de personalización compartida, en función de los parámetros especificados. |
FindUserState(String, String) |
Devuelve una colección de información de estado de personalización por usuario, basada en el nombre de usuario y la ruta de acceso de la página. |
FindUserState(String, String, Int32, Int32, Int32) |
Devuelve una colección de información de estado de personalización por usuario, en función de los parámetros especificados. |
GetAllInactiveUserState(DateTime) |
Devuelve una colección de toda la información de estado de personalización por usuario asociada a los usuarios inactivos, basándose en la fecha especificada. |
GetAllInactiveUserState(DateTime, Int32, Int32, Int32) |
Devuelve un subconjunto de toda la información de estado de personalización por usuario asociada a los usuarios inactivos, basándose en los datos especificados. |
GetAllState(PersonalizationScope) |
Devuelve una colección de toda la información de estado de personalización del almacén de datos subyacente para el ámbito de personalización solicitado. |
GetAllState(PersonalizationScope, Int32, Int32, Int32) |
Devuelve un subconjunto de toda la información de estado de personalización del almacén de datos subyacente, basado en los parámetros especificados. |
GetCountOfInactiveUserState(DateTime) |
Devuelve un recuento de los elementos de personalización por usuario del almacén de datos subyacente para los usuarios inactivos, basado en el parámetro especificado. |
GetCountOfInactiveUserState(String, DateTime) |
Devuelve un recuento de los elementos de personalización por usuario del almacén de datos subyacente para los usuarios inactivos, basado en los parámetros especificados. |
GetCountOfState(PersonalizationScope) |
Devuelve el número de elementos de estado de personalización del almacén de datos subyacente que existe para el ámbito especificado. |
GetCountOfState(PersonalizationScope, String) |
Devuelve el número de elementos de estado de personalización del almacén de datos subyacente que existe para los parámetros especificados. |
GetCountOfUserState(String) |
Devuelve el número de elementos de estado de personalización del almacén de datos subyacente que existe para el usuario especificado. |
ResetAllState(PersonalizationScope) |
Restablece todos los datos de personalización del almacén de datos subyacente eliminando todas las filas asociadas al ámbito especificado. |
ResetInactiveUserState(DateTime) |
Restablece toda la información de estado de personalización por usuario del almacén de datos subyacente, en función del parámetro especificado. |
ResetInactiveUserState(String, DateTime) |
Restablece toda la información de estado por usuario del almacén de datos subyacente para los usuarios inactivos, en función de los parámetros especificados. |
ResetSharedState(String) |
Restablece el estado compartido del almacén de datos subyacente para la ruta de acceso especificada. |
ResetSharedState(String[]) |
Restablece el estado compartido del almacén de datos subyacente para las rutas de acceso especificadas. |
ResetState(PersonalizationStateInfoCollection) |
Restablece los datos de personalización en el almacén de datos subyacente, en función de los elementos contenidos en la colección. |
ResetUserState(String) |
Restablece el estado por usuario del almacén de datos subyacente para la ruta de acceso especificada. |
ResetUserState(String, String) |
Restablece el estado por usuario del almacén de datos subyacente para la combinación especificada de nombre de usuario y ruta de acceso. |
ResetUserState(String, String[]) |
Restablece el estado por usuario del almacén de datos subyacente para la página y los usuarios especificados. |
ResetUserState(String[]) |
Restablece el estado por usuario del almacén de datos subyacente para las rutas de acceso especificadas. |
Se aplica a
Consulte también
- WebPartPersonalization
- controles de elementos web de ASP.NET
- Información general sobre la personalización de elementos web
- Tutorial: Implementación de la personalización de elementos web con un control de usuario
- Personalización de elementos web
- Información general sobre vulnerabilidades de seguridad de script