PersonalizationAdministration 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
實作 Web 組件個人化的管理 (Management) 和管理 (Administrative) 功能。 此類別無法獲得繼承。
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 Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
<%@ 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 />
備註
這個類別提供數個靜態方法和屬性,可公開 Web 元件個人化的管理和管理功能。 這些方法適用於 Web 元件控制件的 WebPartManager 控制項中設定的預設個人化提供者。 如果您需要管理數個作為個人化提供者的數據存放區,您應該直接在個別個人化提供者類別上使用 方法。 請注意,控件的已設定個人化提供者 WebPartManager 集合可從靜態屬性取得 Providers 。
請務必注意,如果您的 Web 應用程式未在預設信任層級或更高層級 Medium 執行, (您可以使用 元素) 在 Web.config 檔案 <trust level="" />
中設定自定義信任層級,則個人化將會失敗。
PersonalizationAdministration和 SqlPersonalizationProvider 類別會在初始化時檢查的信任層級Low。 如果您將應用程式設定為在的信任層級 Low執行,並使用預設 SqlPersonalizationProvider 提供者來管理應用程式的個人化數據,則第一次應用程式嘗試存取個人化數據時,將會失敗,因為信任中 Low 執行的 ASP.NET 背景工作進程沒有呼叫命名空間中 System.Data.SqlClient 各種類別所需的許可權。
屬性
ApplicationName |
取得或設定提供者指定的應用程式名稱。 |
Provider |
傳回預設個人化提供者的執行個體。 |
Providers |
傳回使用名稱進行索引的個人化提供者集合。 |