PersonalizationAdministration Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Implementa funcionalidades de gestão e administração para personalização de Web Parts. Esta classe não pode ser herdada.
public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
- Herança
-
PersonalizationAdministration
Exemplos
O exemplo de código seguinte demonstra como usar vários métodos na PersonalizationAdministration turma. Este exemplo consiste numa página .aspx que faz referência a um controlo de utilizador Web Parts chamado Persadmin.ascx. O código seguinte fornece o ficheiro .aspx para o exemplo.
<%@ 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 fornece o Persadmin.ascx controlo.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de 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 />
Observações
Esta classe fornece vários métodos e propriedades estáticas que expõem funcionalidades de gestão e administração para a personalização de Web Parts. Estes métodos aplicam-se ao fornecedor de personalização por defeito configurado no WebPartManager controlo de um controlo de Web Parts. Se precisar de administrar vários armazéns de dados que atuam como fornecedores de personalização, deve usar os métodos diretamente nas classes individuais de fornecedores de personalização. Note que a coleção de fornecedores de personalização configurados para um WebPartManager controlo está disponível a partir da Providers propriedade estática.
É importante estar ciente de que a personalização falhará se a sua aplicação Web não correr ao nível de confiança padrão de Medium ou superior (pode definir níveis de confiança personalizados num ficheiro Web.config usando o <trust level="" /> elemento). As PersonalizationAdministration classes and SqlPersonalizationProvider verificam ambas o nível de confiança de Low quando são inicializadas. Se configurar a sua aplicação para correr a um nível de confiança de Low, e usar o fornecedor padrão SqlPersonalizationProvider para gerir os dados de personalização da sua aplicação, na primeira vez que a aplicação tentar aceder aos dados de personalização, falhará porque um processo worker ASP.NET a correr em Low trust não tem as permissões necessárias para aceder às várias classes no namespace System.Data.SqlClient.
Propriedades
| Name | Description |
|---|---|
| ApplicationName |
Obtém ou define o nome da aplicação especificada pelo fornecedor. |
| Provider |
Devolve uma instância do fornecedor de personalização por defeito. |
| Providers |
Devolve uma coleção de fornecedores de personalização indexados por nome. |
Métodos
| Name | Description |
|---|---|
| FindInactiveUserState(String, String, DateTime, Int32, Int32, Int32) |
Devolve uma coleção de informação de estado de personalização por utilizador para utilizadores inativos, com base nos parâmetros especificados. |
| FindInactiveUserState(String, String, DateTime) |
Devolve uma coleção de informação de estado de personalização por utilizador para utilizadores inativos, com base nos parâmetros especificados. |
| FindSharedState(String, Int32, Int32, Int32) |
Devolve uma coleção de informação de estado de personalização partilhada com base nos parâmetros especificados. |
| FindSharedState(String) |
Devolve uma coleção de informação de estado de personalização partilhada com base no caminho especificado. |
| FindUserState(String, String, Int32, Int32, Int32) |
Devolve uma coleção de informação de estado de personalização por utilizador com base nos parâmetros especificados. |
| FindUserState(String, String) |
Devolve uma coleção de informações de estado de personalização por utilizador com base no nome de utilizador e no caminho da página. |
| GetAllInactiveUserState(DateTime, Int32, Int32, Int32) |
Devolve um subconjunto de toda a informação de estado de personalização por utilizador associada a utilizadores inativos, com base nos parâmetros especificados. |
| GetAllInactiveUserState(DateTime) |
Devolve uma coleção de toda a informação de estado de personalização por utilizador associada a utilizadores inativos, com base na data especificada. |
| GetAllState(PersonalizationScope, Int32, Int32, Int32) |
Devolve um subconjunto de toda a informação de estado de personalização do armazenamento de dados subjacente, com base nos parâmetros especificados. |
| GetAllState(PersonalizationScope) |
Devolve uma coleção de toda a informação do estado de personalização do armazenamento de dados subjacente para o âmbito de personalização solicitado. |
| GetCountOfInactiveUserState(DateTime) |
Devolve uma contagem dos itens de personalização por utilizador no armazenamento de dados subjacente para utilizadores inativos, com base no parâmetro especificado. |
| GetCountOfInactiveUserState(String, DateTime) |
Devolve uma contagem dos itens de personalização por utilizador no armazenamento de dados subjacente para utilizadores inativos, com base nos parâmetros especificados. |
| GetCountOfState(PersonalizationScope, String) |
Devolve uma contagem dos itens de estado de personalização no armazenamento de dados subjacente que existem para os parâmetros especificados. |
| GetCountOfState(PersonalizationScope) |
Devolve uma contagem dos itens de estado de personalização no armazenamento de dados subjacente que existem para o âmbito especificado. |
| GetCountOfUserState(String) |
Devolve uma contagem dos itens de estado de personalização no armazenamento de dados subjacente que existem para o utilizador especificado. |
| ResetAllState(PersonalizationScope) |
Reinicia todos os dados de personalização no armazenamento subjacente eliminando todas as linhas associadas ao âmbito especificado. |
| ResetInactiveUserState(DateTime) |
Reinicia toda a informação de estado de personalização por utilizador no armazenamento de dados subjacente, com base no parâmetro especificado. |
| ResetInactiveUserState(String, DateTime) |
Reinicia toda a informação de estado por utilizador no armazenamento de dados subjacente para utilizadores inativos, com base nos parâmetros especificados. |
| ResetSharedState(String) |
Reinicia o estado partilhado no armazenamento de dados subjacente para o caminho especificado. |
| ResetSharedState(String[]) |
Redefine o estado partilhado no armazenamento de dados subjacente para os caminhos especificados. |
| ResetState(PersonalizationStateInfoCollection) |
Reinicia os dados de personalização no armazenamento subjacente, com base nos itens contidos na coleção. |
| ResetUserState(String, String) |
Reinicia o estado por utilizador no armazenamento de dados subjacente para a combinação especificada de nome de utilizador e caminho. |
| ResetUserState(String, String[]) |
Redefine o estado por utilizador no armazenamento de dados subjacente da página e utilizadores especificados. |
| ResetUserState(String) |
Reinicia todo o estado por utilizador no armazenamento de dados subjacente para o caminho especificado. |
| ResetUserState(String[]) |
Reinicia todo o estado por utilizador no armazenamento de dados subjacente para os caminhos especificados. |