ServiceHost クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サービスのホストを提供します。
public ref class ServiceHost : System::ServiceModel::ServiceHostBase
public class ServiceHost : System.ServiceModel.ServiceHostBase
type ServiceHost = class
inherit ServiceHostBase
Public Class ServiceHost
Inherits ServiceHostBase
- 継承
- 派生
例
// Host the service within this EXE console application.
public static void Main()
{
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
{
try
{
// Open the ServiceHost to start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.ReadLine();
// Close the ServiceHost.
serviceHost.Close();
}
catch (TimeoutException timeProblem)
{
Console.WriteLine(timeProblem.Message);
Console.ReadLine();
}
catch (CommunicationException commProblem)
{
Console.WriteLine(commProblem.Message);
Console.ReadLine();
}
}
}
' Host the service within this EXE console application.
Public Shared Sub Main()
' Create a ServiceHost for the CalculatorService type and use the base address from config.
Using svcHost As New ServiceHost(GetType(CalculatorService))
Try
' Open the ServiceHost to start listening for messages.
svcHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
'Close the ServiceHost.
svcHost.Close()
Catch timeout As TimeoutException
Console.WriteLine(timeout.Message)
Console.ReadLine()
Catch commException As CommunicationException
Console.WriteLine(commException.Message)
Console.ReadLine()
End Try
End Using
End Sub
注釈
Windows Communication Foundation (WCF) サービス モデル プログラミング モデルで使用されるホストを実装します。
ServiceHost クラスを使用して、インターネット インフォメーション サービス (IIS) または Windows Activation Services (WAS) を使用してサービスを公開していない場合に、クライアント アプリケーションで使用するサービスを構成して公開します。 IIS と WAS の両方が、ユーザーの代わりに ServiceHost オブジェクトと対話します。
呼び出し元が使用するサービスを公開するには、WCF には完全なサービスの説明 ( ServiceDescription クラスで表される) が必要です。 ServiceHost クラスは、サービスの種類と構成情報からServiceDescriptionを作成し、その説明を使用して、説明内の各エンドポイントのChannelDispatcher オブジェクトを作成します。
ServiceHost オブジェクトを使用して、サービスの読み込み、エンドポイントの構成、セキュリティ設定の適用、受信要求を処理するためのリスナーの開始を行います。
コンストラクター
| 名前 | 説明 |
|---|---|
| ServiceHost() |
ServiceHost クラスの新しいインスタンスを初期化します。 |
| ServiceHost(Object, Uri[]) |
サービスのインスタンスとそのベース アドレスを指定して、 ServiceHost クラスの新しいインスタンスを初期化します。 |
| ServiceHost(Type, Uri[]) |
サービスの種類とそのベース アドレスを指定して、 ServiceHost クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Authentication |
サービス認証の動作を取得します。 (継承元 ServiceHostBase) |
| Authorization |
ホストされているサービスの承認動作を取得します。 (継承元 ServiceHostBase) |
| BaseAddresses |
ホストされているサービスによって使用されるベース アドレスを取得します。 (継承元 ServiceHostBase) |
| ChannelDispatchers |
サービス ホストによって使用されるチャネル ディスパッチャーのコレクションを取得します。 (継承元 ServiceHostBase) |
| CloseTimeout |
サービス ホストが閉じるのに許可される時間の間隔を取得または設定します。 (継承元 ServiceHostBase) |
| Credentials |
ホストされているサービスの資格情報を取得します。 (継承元 ServiceHostBase) |
| DefaultCloseTimeout |
サービス ホストが閉じるのに許可される既定の時間間隔を取得します。 (継承元 ServiceHostBase) |
| DefaultOpenTimeout |
サービス ホストを開くために許可される既定の時間間隔を取得します。 (継承元 ServiceHostBase) |
| Description |
ホストされているサービスの説明を取得します。 (継承元 ServiceHostBase) |
| Extensions |
現在指定されているサービス ホストの拡張機能を取得します。 (継承元 ServiceHostBase) |
| ImplementedContracts |
ホストされているサービスによって実装されたコントラクトを取得します。 (継承元 ServiceHostBase) |
| IsDisposed |
通信オブジェクトが破棄されたかどうかを示す値を取得します。 (継承元 CommunicationObject) |
| ManualFlowControlLimit |
ホストされるサービスによって受信されるメッセージのフロー制御制限を取得または設定します。 (継承元 ServiceHostBase) |
| OpenTimeout |
サービス ホストが開くことを許可する時間間隔を取得または設定します。 (継承元 ServiceHostBase) |
| SingletonInstance |
ホストされているサービスのシングルトン インスタンスを取得します。 |
| State |
通信オブジェクトの現在の状態を示す値を取得します。 (継承元 CommunicationObject) |
| ThisLock |
状態遷移中にクラス インスタンスを保護する相互排他的ロックを取得します。 (継承元 CommunicationObject) |
メソッド
| 名前 | 説明 |
|---|---|
| Abort() |
通信オブジェクトを現在の状態から終了状態に直ちに遷移させます。 (継承元 CommunicationObject) |
| AddBaseAddress(Uri) |
サービス ホストにベース アドレスを追加します。 (継承元 ServiceHostBase) |
| AddDefaultEndpoints() |
既定のバインディングを使用して、サービス ホストで見つかった各コントラクト内のすべてのベース アドレスのサービス エンドポイントを追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(ServiceEndpoint) |
指定したサービス エンドポイントをホステッド サービスに追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String, Uri) |
リッスンするアドレスを含むコントラクト、バインディング、エンドポイント アドレス、URI を指定して、ホストされるサービスにサービス エンドポイントを追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(String, Binding, String) |
指定したコントラクト、バインディング、およびエンドポイント アドレスを使用して、ホストされているサービスにサービス エンドポイントを追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri, Uri) |
エンドポイントとリッスン アドレスを含む、指定されたコントラクト、バインディング、URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(String, Binding, Uri) |
指定したコントラクト、バインディング、およびエンドポイント アドレスを含む URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 (継承元 ServiceHostBase) |
| AddServiceEndpoint(Type, Binding, String, Uri) |
指定したコントラクト、バインディング、エンドポイント アドレス、サービスがリッスンする URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 |
| AddServiceEndpoint(Type, Binding, String) |
指定したコントラクト、バインディング、およびエンドポイント アドレスを使用して、ホストされているサービスにサービス エンドポイントを追加します。 |
| AddServiceEndpoint(Type, Binding, Uri, Uri) |
指定したコントラクト、バインディング、エンドポイント アドレスを含む URI、サービスがリッスンする URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 |
| AddServiceEndpoint(Type, Binding, Uri) |
指定したコントラクト、バインディング、およびエンドポイント アドレスを含む URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 |
| ApplyConfiguration() |
構成ファイルからサービスの説明を読み込み、構築中のランタイムに適用します。 |
| ApplyConfiguration() |
構成ファイルからサービス記述情報を読み込み、構築中のランタイムに適用します。 (継承元 ServiceHostBase) |
| BeginClose(AsyncCallback, Object) |
通信オブジェクトを閉じる非同期操作を開始します。 (継承元 CommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
指定したタイムアウトで通信オブジェクトを閉じる非同期操作を開始します。 (継承元 CommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
通信オブジェクトを開く非同期操作を開始します。 (継承元 CommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
指定した時間内に通信オブジェクトを開く非同期操作を開始します。 (継承元 CommunicationObject) |
| Close() |
通信オブジェクトを現在の状態から閉じた状態に遷移させます。 (継承元 CommunicationObject) |
| Close(TimeSpan) |
指定した時間内に、通信オブジェクトを現在の状態から閉じた状態に遷移させます。 (継承元 CommunicationObject) |
| CreateDescription(IDictionary<String,ContractDescription>) |
ホストされているサービスの説明を作成します。 |
| EndClose(IAsyncResult) |
通信オブジェクトを閉じる非同期操作を完了します。 (継承元 CommunicationObject) |
| EndOpen(IAsyncResult) |
通信オブジェクトを開く非同期操作を完了します。 (継承元 CommunicationObject) |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| Fault() |
通信オブジェクトを現在の状態から障害状態に遷移させます。 (継承元 CommunicationObject) |
| GetCommunicationObjectType() |
通信オブジェクトの種類を取得します。 (継承元 CommunicationObject) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| IncrementManualFlowControlLimit(Int32) |
ホストされるサービスに対するメッセージのフロー レートの制限を、指定した増分で増やします。 (継承元 ServiceHostBase) |
| InitializeDescription(Object, UriSchemeKeyedCollection) |
インスタンスと指定したベース アドレスに基づいてホストされるサービスの説明を初期化します。 |
| InitializeDescription(Type, UriSchemeKeyedCollection) |
型と指定したベース アドレスに基づいて、ホストされるサービスの説明を初期化します。 |
| InitializeDescription(UriSchemeKeyedCollection) |
コントラクトとサービスの説明を使用して、サービス ホストを作成して初期化します。 (継承元 ServiceHostBase) |
| InitializeRuntime() |
サービス ホストのランタイムを初期化します。 (継承元 ServiceHostBase) |
| LoadConfigurationSection(ServiceElement) |
ホストされるサービスの構成ファイルからサービス要素を読み込みます。 (継承元 ServiceHostBase) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| OnAbort() |
サービスを中止します。 (継承元 ServiceHostBase) |
| OnBeginClose(TimeSpan, AsyncCallback, Object) |
サービス ホストの終了時に呼び出された非同期操作を開始します。 (継承元 ServiceHostBase) |
| OnBeginOpen(TimeSpan, AsyncCallback, Object) |
サービス ホストを開くときに呼び出される非同期操作を開始します。 (継承元 ServiceHostBase) |
| OnClose(TimeSpan) |
チャネル ディスパッチャー、関連するインスタンス コンテキスト、リスナーなど、ホストされているサービスを閉じます。 (継承元 ServiceHostBase) |
| OnClosed() |
サービス ホストが閉じられたときにホストされている破棄可能なサービスを破棄します。 |
| OnClosing() |
通信オブジェクトの終了状態への遷移中に呼び出されます。 (継承元 CommunicationObject) |
| OnEndClose(IAsyncResult) |
サービス ホストの終了時に呼び出された非同期操作を完了します。 (継承元 ServiceHostBase) |
| OnEndOpen(IAsyncResult) |
サービス ホストを開くときに呼び出された非同期操作を完了します。 (継承元 ServiceHostBase) |
| OnFaulted() |
同期障害操作の呼び出しにより、通信オブジェクトが障害状態に遷移した後に、処理を挿入します。 (継承元 CommunicationObject) |
| OnOpen(TimeSpan) |
チャネル ディスパッチャーを開きます。 (継承元 ServiceHostBase) |
| OnOpened() |
ホステッド サービスのサービス資格情報、サービス認証、および承認動作を取得します。 (継承元 ServiceHostBase) |
| OnOpening() |
通信オブジェクトの開始状態への遷移中に呼び出されます。 (継承元 CommunicationObject) |
| Open() |
通信オブジェクトが作成された状態から開かれた状態に遷移します。 (継承元 CommunicationObject) |
| Open(TimeSpan) |
指定した時間内に、通信オブジェクトが作成された状態から開かれた状態に遷移します。 (継承元 CommunicationObject) |
| ReleasePerformanceCounters() |
ホストされるサービスのサービス およびチャネル ディスパッチャーのパフォーマンス カウンターを解放します。 (継承元 ServiceHostBase) |
| SetEndpointAddress(ServiceEndpoint, String) |
指定したエンドポイントのエンドポイント アドレスを、指定したアドレスに設定します。 (継承元 ServiceHostBase) |
| ThrowIfDisposed() |
通信オブジェクトが破棄された場合に例外をスローします。 (継承元 CommunicationObject) |
| ThrowIfDisposedOrImmutable() |
State プロパティがCreated状態に設定されていない通信オブジェクトの場合は、例外をスローします。 (継承元 CommunicationObject) |
| ThrowIfDisposedOrNotOpen() |
通信オブジェクトが Opened 状態でない場合は、例外をスローします。 (継承元 CommunicationObject) |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
イベント
| 名前 | 説明 |
|---|---|
| Closed |
通信オブジェクトが閉じた状態に遷移したときに発生します。 (継承元 CommunicationObject) |
| Closing |
通信オブジェクトが終了状態に遷移したときに発生します。 (継承元 CommunicationObject) |
| Faulted |
通信オブジェクトが障害状態に遷移したときに発生します。 (継承元 CommunicationObject) |
| Opened |
通信オブジェクトが開かれた状態に遷移したときに発生します。 (継承元 CommunicationObject) |
| Opening |
通信オブジェクトが開始状態に遷移したときに発生します。 (継承元 CommunicationObject) |
| UnknownMessageReceived |
不明なメッセージを受信したときに発生します。 (継承元 ServiceHostBase) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IDisposable.Dispose() |
サービス ホストを閉じます。 (継承元 ServiceHostBase) |