ページでサービス アプリケーションを実装する
最終更新日: 2010年4月20日
適用対象: SharePoint Foundation 2010
この記事の内容
サービス アプリケーションのメニュー項目を新しいボタンに追加する
[接続] ボタンを有効にする
[削除] ボタンを有効にする
[管理] ボタンを有効にする
[管理者] ボタンを有効にする
[プロパティ] ボタンを有効にする
[発行] ボタンを有効にする
[権限] ボタンを有効にする
SharePoint 2010 のサーバーの全体管理の [サービス アプリケーションの管理] ページは、管理者がサービス アプリケーションおよびプロキシを管理するときに使用します。
[サービス アプリケーションの管理] ページに含まれるリボンのボタンと、その機能を次に示します。
[新規作成] サービス アプリケーションを作成します。
[接続] 他のファームによって公開されているサービス アプリケーションに接続します。
[削除] 選択したサービス アプリケーションまたはサービス アプリケーション接続を削除します。
[管理] 選択したサービス アプリケーションの設定を管理します。
[管理者] 選択したサービス アプリケーションに管理者を割り当てます。
[プロパティ] 一般的なプロパティを編集します。
[発行] 選択したサービス アプリケーションを他のファームが使用できるようにします。
[権限] 選択したサービス アプリケーションにどのアカウントがアクセスできるようにするかを決定します。
サービス アプリケーションを [サービス アプリケーションの管理] ページから使用できるようにするには、使用可能なサービス アプリケーションのリストにサービス アプリケーションを追加し、[サービス アプリケーションの管理] ページでリボンのボタンを変更して、ユーザー入力を処理する [サービス アプリケーションの管理] ページを作成する必要があります。
サービス アプリケーションのメニュー項目を新しいボタンに追加する
[サービス アプリケーションの管理] ページのリボンの [新規作成] ボタンは常に有効です。[新規作成] をクリックすると、ファーム管理者が作成できるサービス アプリケーションのリストが表示されます。このリストに独自のサービス アプリケーションを追加できます。
使用可能なサービス アプリケーションのリストにサービス アプリケーションを追加するには
必要なユーザー入力を収集するページを作成し、一致するローカル プロキシを持つサービス アプリケーションを作成します。
SPService 派生クラスで IServiceAdministration インターフェイスを実装します。
SPService::GetCreateApplicationLink をオーバーライドし、手順 1. で作成したページへのリンクを返します。
次の例は、使用可能なサービス アプリケーションのリストにサービス アプリケーションを追加する方法を示しています。
//Placeholder for the actual GUID.
[Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")]
public sealed class SampleWebService
: SPIisWebService, IServiceAdministration
{
public Type[] GetApplicationTypes()
{
return new Type[] { typeof(SampleWebServiceApplication) };
}
public SPPersistedTypeDescription GetApplicationTypeDescription(
Type serviceApplicationType)
{
if (serviceApplicationType != typeof(SampleWebServiceApplication))
{
throw new NotSupportedException();
}
return new SPPersistedTypeDescription(
"Sample Web Service",
"A sample web service.");
}
public override SPAdministrationLink GetCreateApplicationLink(
Type serviceApplicationType)
{
// NOTE: Because there can be only one instance of this service,
// and there is only one application type, the target page
// does not require any query string parameters.
return new SPAdministrationLink("/_admin/SampleCreate.aspx");
}
}
// Placeholder for your actual GUID <System.Runtime.InteropServices.GuidAttribute("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")>
Public NotInheritable Class SampleWebService
Inherits SPIisWebService
Implements IServiceAdministration
Public Function GetApplicationTypes() As Type()
Return New Type() {GetType(SampleWebServiceApplication)}
End Function
Public Function GetApplicationTypeDescription(ByVal serviceApplicationType As Type) As SPPersistedTypeDescription
If serviceApplicationType IsNot GetType(SampleWebServiceApplication) Then
Throw New NotSupportedException()
End If
Return New SPPersistedTypeDescription("Sample Web Service", "A sample web service.")
End Function
Public Overrides Function GetCreateApplicationLink(ByVal serviceApplicationType As Type) As SPAdministrationLink
' NOTE: Because there can be only one instance of this service,
' and there is only one application type, the target page
' does not require any query string parameters.
Return New SPAdministrationLink("/_admin/SampleCreate.aspx")
End Function
End Class
[接続] ボタンを有効にする
[サービス アプリケーションの管理] ページのリボンの [接続] ボタンは、サービス アプリケーションに接続するときに使用します。内部的には、この操作により、サービス アプリケーションのプロキシが作成されます。
[接続] ボタンの下の矢印をクリックすると、現在実行されているプロキシとサービスのリストが表示されます。
[接続] ボタン自体をクリックすると、リモート サービス アプリケーションへの接続ウィザードが開始します。このウィザードを使用すると、管理者が、ファームから公開されているサービス アプリケーションを参照して接続を作成できます。
サービス アプリケーションが選択されているときにこのボタンを有効にするには、SPServiceApplication 派生クラスで ISharedServiceApplication を実装します。
注意
SPIisWebServiceApplication 基底クラスは、ISharedServiceApplication を実装するため、発行は既定で有効です。
[削除] ボタンを有効にする
[サービス アプリケーションの管理] ページのリボンの [削除] ボタンは、[サービス アプリケーションの管理] ページでアイテムが選択されているときに有効になります。この操作により、選択したアイテムに対して次の処理を実行できます。
選択したアイテムに関連付けられているユーザー データを削除する場合は、Unprovision メソッドを呼び出して、メソッドの値を true にします。それ以外の場合、値は false です。
Delete メソッドを呼び出します。
[管理] ボタンを有効にする
リボンの [管理] ボタンは、選択したサービス アプリケーションまたはプロキシを管理するときに使用します。
サービス アプリケーションまたはプロキシが選択されているときに [管理] ボタンを有効にするには
サーバーの全体管理でページを作成し、サービス アプリケーションまたはプロキシを管理します。
手順 1. で作成したページにリンクするには、SPServiceApplication あるいは SPServiceApplicationProxy 派生クラス上の ManageLink プロパティをオーバーライドします。
次のコード例は、選択したサービス アプリケーションに対して [管理] ボタンを有効にする方法を示しています。
public override SPAdministrationLink ManageLink { get { return new SPAdministrationLink( "/_admin/SampleManage.aspx?id=" + this.Id.ToString()); } }
Public Overrides ReadOnly Property ManageLink() As SPAdministrationLink Get Return New SPAdministrationLink("/_admin/SampleManage.aspx?id=" & Me.Id.ToString()) End Get End Property
[管理者] ボタンを有効にする
[サービス アプリケーションの管理] ページのリボンの [管理者] ボタンは、[サービス アプリケーションの管理] ページからサービス アプリケーションが選択されているときに有効になります。これは、どのユーザーがサービス アプリケーションに委任管理アクセスするかを制御するときに使用します。
[プロパティ] ボタンを有効にする
[プロパティ] ボタンは、選択したアイテムの設定を編集するときに使用します。
注意
このページの設定は、ファーム管理者のみを対象にしています。
サービス アプリケーションまたはプロキシが選択されているときに [プロパティ] ボタンを有効にするには
SharePoint 2010 のサーバーの全体管理でページを作成し、サービス アプリケーションまたはプロキシのプロパティを編集します。
手順 1. で作成したページにリンクするには、SPServiceApplication あるいは SPServiceApplicationProxy 派生クラス上の PropertiesLink プロパティをオーバーライドします。
[発行] ボタンを有効にする
[サービス アプリケーションの管理] ページのリボンの [発行] ボタンは、サービス アプリケーションを他のサーバー ファームに公開するときに使用します。サービス アプリケーションが公開されたら、他のサービス ファームの管理者が、リボンの [接続] ボタンを使用してそのアプリケーションを検出できます。
サービス アプリケーションが選択されているときに [発行] ボタンを有効にするには、SPServiceApplication 派生クラスで ISharedServiceApplication を実装します。
注意
SPIisWebServiceApplication 基底クラスは、ISharedServiceApplication を実装するため、発行は既定で有効です。
[権限] ボタンを有効にする
[サービス アプリケーションの管理] ページのリボンの [Permissions] ボタンは、サービス アプリケーションへのアクセスを制御するときに使用します。通常、このボタンを使用して、リモート サーバー ファームが、サービス アプリケーションに接続できるようにします。
サービス アプリケーションが選択されているときに [権限] ボタンを有効にするには
SharePoint 2010 のサーバーの全体管理でページを作成し、サービス アプリケーションあるいはプロキシを起動するためのアクセス権を持つアカウントまたは他のプリンシパルを指定します。
手順 1. で作成したページにリンクするには、SPServiceApplication あるいは SPServiceApplicationProxy 派生クラス上の PermissionsLink プロパティをオーバーライドします。