次の方法で共有


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

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、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 以上で実行されていない場合は、パーソナル化が失敗する点に注意してください (要素を使用して、Web.config ファイルでカスタム信頼レベルを <trust level="" /> 設定できます)。 クラスと SqlPersonalizationProvider クラスはPersonalizationAdministrationどちらも、初期化時に のLow信頼レベルを確認します。 の信頼レベルで実行するようにアプリケーションを構成し、既定SqlPersonalizationProviderLowプロバイダーを使用してアプリケーションのパーソナル化データを管理する場合、アプリケーションが初めてパーソナル化データにアクセスしようとすると、信頼で実行されている Low ASP.NET ワーカー プロセスに名前空間のさまざまなクラス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[])

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

適用対象

こちらもご覧ください