PersonalizationAdministration クラス

定義

Web パーツのパーソナル化の管理機能と管理機能を実装します。 このクラスは継承できません。

public ref class PersonalizationAdministration abstract sealed
public static class PersonalizationAdministration
type PersonalizationAdministration = class
Public Class PersonalizationAdministration
継承
PersonalizationAdministration

次のコード例は、 PersonalizationAdministration クラスで複数のメソッドを使用する方法を示しています。 この例は、 Persadmin.ascxという名前の Web パーツ ユーザー コントロールを参照する.aspx ページで構成されています。 次のコードは、この例の.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 コントロールを提供します。

Important

この例には、潜在的なセキュリティ上の脅威であるユーザー入力を受け入れるテキスト ボックスがあります。 既定では、ASP.NET Web ページでは、ユーザー入力にスクリプトや 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 />

注釈

このクラスには、Web パーツのパーソナル化の管理機能と管理機能を公開する静的メソッドとプロパティがいくつか用意されています。 これらのメソッドは、Web パーツ コントロールの WebPartManager コントロールで構成された既定のパーソナル化プロバイダーに適用されます。 パーソナル化プロバイダーとして機能する複数のデータ ストアを管理する必要がある場合は、個々のパーソナル化プロバイダー クラスでメソッドを直接使用する必要があります。 WebPartManager コントロール用に構成されたパーソナル化プロバイダーのコレクションは、Providers静的プロパティから使用できます。

Web アプリケーションが既定の信頼レベルの Medium 以上で実行されない場合は、パーソナル化が失敗します ( <trust level="" /> 要素を使用して、Web.config ファイルでカスタム信頼レベルを設定できます)。 PersonalizationAdministrationクラスとSqlPersonalizationProvider クラスの両方で、初期化時にLowの信頼レベルがチェックされます。 信頼レベルの Low で実行するようにアプリケーションを構成する場合は、 既定の SqlPersonalizationProvider プロバイダーを使用してアプリケーションのパーソナル化データを管理します。アプリケーションがパーソナル化データに初めてアクセスしようとすると、Low 信頼で実行されている ASP.NET ワーカー プロセスに、System.Data.SqlClient 名前空間のさまざまなクラスを呼び出すために必要なアクセス許可がないため、失敗します。

プロパティ

名前 説明
ApplicationName

プロバイダーによって指定されたアプリケーションの名前を取得または設定します。

Provider

既定のパーソナル化プロバイダーのインスタンスを返します。

Providers

名前でインデックス付けされたパーソナル化プロバイダーのコレクションを返します。

メソッド

名前 説明
FindInactiveUserState(String, String, DateTime, Int32, Int32, Int32)

指定されたパラメーターに基づいて、非アクティブなユーザーのユーザーごとのパーソナル化状態情報のコレクションを返します。

FindInactiveUserState(String, String, DateTime)

指定されたパラメーターに基づいて、非アクティブなユーザーのユーザーごとのパーソナル化状態情報のコレクションを返します。

FindSharedState(String, Int32, Int32, Int32)

指定したパラメーターに基づいて、共有パーソナル化状態情報のコレクションを返します。

FindSharedState(String)

指定したパスに基づいて、共有パーソナル化状態情報のコレクションを返します。

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

指定したパラメーターに基づいて、ユーザーごとのパーソナル化状態情報のコレクションを返します。

FindUserState(String, String)

ユーザー名とページ パスに基づいて、ユーザーごとのパーソナル化状態情報のコレクションを返します。

GetAllInactiveUserState(DateTime, Int32, Int32, Int32)

指定されたパラメーターに基づいて、非アクティブなユーザーに関連付けられているすべてのユーザーごとのパーソナル化状態情報のサブセットを返します。

GetAllInactiveUserState(DateTime)

指定した日付に基づいて、非アクティブなユーザーに関連付けられているすべてのユーザーごとのパーソナル化状態情報のコレクションを返します。

GetAllState(PersonalizationScope, Int32, Int32, Int32)

指定したパラメーターに基づいて、基になるデータ ストアからすべてのパーソナル化状態情報のサブセットを返します。

GetAllState(PersonalizationScope)

要求されたパーソナル化スコープの基になるデータ ストアから、すべてのパーソナル化状態情報のコレクションを返します。

GetCountOfInactiveUserState(DateTime)

指定されたパラメーターに基づいて、非アクティブなユーザーの基になるデータ ストア内のユーザーごとのパーソナル化項目の数を返します。

GetCountOfInactiveUserState(String, DateTime)

指定されたパラメーターに基づいて、非アクティブなユーザーの基になるデータ ストア内のユーザーごとのパーソナル化項目の数を返します。

GetCountOfState(PersonalizationScope, String)

指定したパラメーターに対して存在する基になるデータ ストア内のパーソナル化状態項目の数を返します。

GetCountOfState(PersonalizationScope)

指定したスコープに存在する基になるデータ ストア内のパーソナル化状態項目の数を返します。

GetCountOfUserState(String)

指定したユーザーに対して存在する基になるデータ ストア内のパーソナル化状態項目の数を返します。

ResetAllState(PersonalizationScope)

指定したスコープに関連付けられているすべての行を削除して、基になるデータ ストア内のすべてのパーソナル化データをリセットします。

ResetInactiveUserState(DateTime)

指定したパラメーターに基づいて、基になるデータ ストア内のすべてのユーザーごとのパーソナル化状態情報をリセットします。

ResetInactiveUserState(String, DateTime)

指定されたパラメーターに基づいて、非アクティブなユーザーの基になるデータ ストア内のすべてのユーザーごとの状態情報をリセットします。

ResetSharedState(String)

指定したパスの基になるデータ ストアの共有状態をリセットします。

ResetSharedState(String[])

指定したパスの基になるデータ ストアの共有状態をリセットします。

ResetState(PersonalizationStateInfoCollection)

コレクションに含まれる項目に基づいて、基になるデータ ストア内のパーソナル化データをリセットします。

ResetUserState(String, String)

指定したユーザー名とパスの組み合わせについて、基になるデータ ストアのユーザーごとの状態をリセットします。

ResetUserState(String, String[])

指定したページとユーザーの基になるデータ ストアのユーザーごとの状態をリセットします。

ResetUserState(String)

指定したパスの基になるデータ ストア内のすべてのユーザーごとの状態をリセットします。

ResetUserState(String[])

指定したパスの基になるデータ ストア内のすべてのユーザーごとの状態をリセットします。

適用対象

こちらもご覧ください