概要 : オブジェクト モデルを使用して管理をカスタマイズする

最終更新日: 2010年4月7日

適用対象: SharePoint Foundation 2010

この記事の内容
管理設定を管理する
カスタム管理設定を定義する
自動シリアル化
このセクションの内容

Microsoft.SharePoint.Administration 名前空間を使用して、SharePoint Foundation 展開の管理をカスタマイズするための 2 つの主要なシナリオである、管理プロパティ設定の管理およびカスタム プロパティ用のオブジェクトの作成に対応することができます。既存のタイプまたはメンバーを使用して、SharePoint Foundation でネイティブに使用される設定をグローバルに変更することができますが、プラットフォーム上でアプリケーションを構築する場合は、カスタム プロパティの設定を定義し、格納するカスタム クラスを作成することができます。

管理設定を管理する

SharePoint Foundation には、以前のバージョンでは非表示であった機能にアクセスできる改良された管理オブジェクト モデルが含まれています。新しいオブジェクト モデルは、展開全体にわたって管理設定を簡単に変更できるように設計されています。大規模なサーバー ファームまたは多数のサーバー ファームを所有し、管理設定をグローバルに変更する必要がある場合は、このオブジェクト モデルを通じて実行することができます。

比較的少ないコード行で、サーバー ファーム全体を特別な方法で構成するスクリプトまたは基本的なコンソール アプリケーションを記述することができます。特定のプロパティ設定を変更する必要がある場合は、オブジェクト モデルを使用して実行します。SharePoint Foundation 設定を管理する単純なコンソール アプリケーションを作成する方法を示すタスクについては、「[方法] ブロックするファイルの種類を追加する」を参照してください。

カスタム管理設定を定義する

SharePoint Foundation プラットフォーム上でアプリケーションを構築する場合は、アプリケーションのカスタム プロパティ設定を定義するクラスを作成し、設定を格納する方法を指定する必要があります。SharePoint Foundation の Microsoft.SharePoint.Administration 名前空間は、基本 SPPersistedObject クラスから派生するクラスが SharePoint Foundation データベースに永続化されるオブジェクトの永続性を導入します。永続化されるオブジェクトを作成するには、SPPersistedObject から派生するクラスを作成するか、SPPersistedObject から派生する Microsoft.SharePoint.Administration 名前空間のクラスから派生するクラスを作成します。そのクラスでは、SharePoint Foundation データベースのカスタム プロパティ設定を格納するオブジェクト モデルを定義することができます。たとえば、SharePoint Foundation を何らかの方法で使用する Windows サービスを作成することができます。このサービスには、Windows サービスに固有の設定を格納するために、SPWindowsService クラスから継承されるクラスの作成が含まれます。コンパイル済みの DLL は、プロパティを取得または保存するために使用することができるオブジェクト モデルを顧客に提供します。SharePoint Foundation は、設定を格納する方法と場所を提供し、サーバー ファームのすべてのサーバーおよびプロセスに対する、キャッシュの更新を含む可用性を管理します。

カスタム管理オブジェクトを定義する方法を示す例については、「[ウォークスルー] コンテンツ サービス オブジェクトを作成する」を参照してください。

自動シリアル化

SharePoint Foundation は、SPAutoSerializingObject クラスから継承される永続的オブジェクトのシリアル化を自動的に処理するので、シリアル化のためのコードを記述する必要はありません。SharePoint Foundation プラットフォーム上で製品を開発する場合は、サーバー ファームがどんなに大きくなってもファームのすべてのサーバーがアクセスできる、設定を格納するための場所が必要です。この場合、2 つのオプションがあります。

  • 設定をテキスト ファイルで記述して、変更が行われるたびに、このファイルをすべてのサーバーにコピーするか、すべてのサーバーがファイルを必ず利用できる共有場所に置くか、または、可能な場合は設定をすべてのサーバーのレジストリに入力します。すべてのプロパティに対して多くの複雑なコードを記述し、プロパティの設定を適切な場所に配置し、取得する方法を指定する必要がある場合があります。

  • 永続的オブジェクト クラスを作成し、任意のフィールドを追加して、設定を格納します。クラスは自動的にシリアル化されるので、データを格納する方法を指定したり、格納可能な形式に変換する必要はありません。整数、文字列、GUID、配列など、フィールドを含むクラスを用意すると、SharePoint Foundation がデータをデータベースにシリアル化します。クラスはプロパティ設定のメンバーを定義しますが、自動シリアル化、記憶域、サーバー ファーム全体にわたる設定の伝搬、およびキャッシュの無効化を基本クラスから継承します。SharePoint Foundation は、データベース内外への設定の経路を指定するか、設定を他のサーバーまたは他のプロセスに適用します。この場合、整数または GUID を文字列に変換するためのコードを記述する必要はありません。

このセクションの内容