ServiceHostBase クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ServiceHostBase クラスを拡張して、カスタム プログラミング モデルを公開するホストを実装します。
public ref class ServiceHostBase abstract : System::ServiceModel::Channels::CommunicationObject, IDisposable, System::ServiceModel::IExtensibleObject<System::ServiceModel::ServiceHostBase ^>
public abstract class ServiceHostBase : System.ServiceModel.Channels.CommunicationObject, IDisposable, System.ServiceModel.IExtensibleObject<System.ServiceModel.ServiceHostBase>
type ServiceHostBase = class
inherit CommunicationObject
interface IExtensibleObject<ServiceHostBase>
interface IDisposable
Public MustInherit Class ServiceHostBase
Inherits CommunicationObject
Implements IDisposable, IExtensibleObject(Of ServiceHostBase)
- 継承
- 派生
- 実装
例
このサンプルでは、 ServiceHost から 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
注釈
クラスを ServiceHostBase 使用して、カスタム プログラミング モデルを提供するホストを作成します。 Windows Communication Foundation (WCF) サービス プログラミング モデルでは、 クラスを使用します ServiceHost 。
このクラスから派生するマネージド C++ ユーザーに対する特別な注意 :
クリーンアップ コードは、デストラクターではなく (On)(Begin)Close (または OnAbort のどちらか一方または両方) に置いてください。
デストラクターは使用しないでください。使用すると、コンパイラが IDisposable を自動生成します。
非参照メンバーを使用しないでください。使用すると、コンパイラが IDisposable を自動生成します。
ファイナライザーを使用しないでください。使用する場合は、ビルド警告を抑制し、SuppressFinalize(Object) を呼び出し、ファイナライザー自体を (On)(Begin)Close (または OnAbort のどちらか一方または両方) から呼び出して、自動生成される IDisposable の動作をエミュレートする必要があります。
コンストラクター
ServiceHostBase() |
ServiceHostBase クラスの新しいインスタンスを初期化します。 |
プロパティ
Authentication |
サービスの認証動作を取得します。 |
Authorization |
ホストされるサービスの承認動作を取得します。 |
BaseAddresses |
ホストされるサービスによって使用されるベース アドレスを取得します。 |
ChannelDispatchers |
サービス ホストによって使用されるチャネル ディスパッチャーのコレクションを取得します。 |
CloseTimeout |
サービス ホストを閉じておける期間を取得または設定します。 |
Credentials |
ホストされるサービスの資格情報を取得します。 |
DefaultCloseTimeout |
サービス ホストを閉じておける既定の期間を取得します。 |
DefaultOpenTimeout |
サービス ホストを開いておける既定の期間を取得します。 |
Description |
ホストされるサービスの記述を取得します。 |
Extensions |
現在の指定されたサービス ホストの拡張機能を取得します。 |
ImplementedContracts |
ホストされるサービスによって実装されるコントラクトを取得します。 |
IsDisposed |
通信オブジェクトが破棄されたかどうかを示す値を取得します。 (継承元 CommunicationObject) |
ManualFlowControlLimit |
ホストされるサービスによって受信されるメッセージのフロー制御制限を取得または設定します。 |
OpenTimeout |
サービス ホストを開いておける期間を取得または設定します。 |
State |
通信オブジェクトの現在の状態を示す値を取得します。 (継承元 CommunicationObject) |
ThisLock |
状態遷移中にクラス インスタンスを保護する相互排他的なロックを取得します。 (継承元 CommunicationObject) |
メソッド
Abort() |
通信オブジェクトを、直ちに現在の状態から Closing 状態に遷移させます。 (継承元 CommunicationObject) |
AddBaseAddress(Uri) |
サービス ホストにベース アドレスを追加します。 |
AddDefaultEndpoints() |
既定のバインドを使用して、サービス ホストで検出された各コントラクト内のすべてのベース アドレスのサービス エンドポイントを追加します。 |
AddServiceEndpoint(ServiceEndpoint) |
ホストされるサービスに指定されたサービス エンドポイントを追加します。 |
AddServiceEndpoint(String, Binding, String) |
指定されたコントラクト、バインディング、およびエンドポイント アドレスを持つホストされるサービスに、サービス エンドポイントを追加します。 |
AddServiceEndpoint(String, Binding, String, Uri) |
コントラクト、バインド、エンドポイント アドレス、およびサービスがリッスンするアドレスを表す URI を指定して、ホストされるサービスにサービス エンドポイントを追加します。 |
AddServiceEndpoint(String, Binding, Uri) |
指定したコントラクト、バインド、およびエンドポイント アドレスを含む URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。 |
AddServiceEndpoint(String, Binding, Uri, Uri) |
コントラクト、バインド、およびエンドポイント アドレスとリッスン アドレスを含む URI を指定して、ホストされるサービスにサービス エンドポイントを追加します。 |
ApplyConfiguration() |
サービス記述情報を構成ファイルから読み込み、構築中のランタイムにその情報を適用します。 |
BeginClose(AsyncCallback, Object) |
通信オブジェクトをクローズするための非同期操作を開始します。 (継承元 CommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
タイムアウトを指定して、通信オブジェクトをクローズするための非同期操作を開始します。 (継承元 CommunicationObject) |
BeginOpen(AsyncCallback, Object) |
通信オブジェクトを開くための非同期操作を開始します。 (継承元 CommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
指定した時間内で通信オブジェクトを開くための非同期操作を開始します。 (継承元 CommunicationObject) |
Close() |
通信オブジェクトを、現在の状態から Closed 状態に遷移させます。 (継承元 CommunicationObject) |
Close(TimeSpan) |
指定した時間内で、通信オブジェクトを現在の状態から Closed 状態に遷移させます。 (継承元 CommunicationObject) |
CreateDescription(IDictionary<String,ContractDescription>) |
派生クラスで実装された場合は、ホストされるサービスの記述を作成します。 |
EndClose(IAsyncResult) |
通信オブジェクトをクローズするための非同期操作を完了します。 (継承元 CommunicationObject) |
EndOpen(IAsyncResult) |
通信オブジェクトを開くための非同期操作を完了します。 (継承元 CommunicationObject) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Fault() |
通信オブジェクトを、現在の状態から Faulted 状態に遷移させます。 (継承元 CommunicationObject) |
GetCommunicationObjectType() |
通信オブジェクトの型を取得します。 (継承元 CommunicationObject) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
IncrementManualFlowControlLimit(Int32) |
ホストされるサービスへのメッセージのフロー レートの制限を、指定した値で増分します。 |
InitializeDescription(UriSchemeKeyedCollection) |
コントラクトとサービスの記述を指定して、サービス ホストの作成と初期化を行います。 |
InitializeRuntime() |
サービス ホストのランタイムを初期化します。 |
LoadConfigurationSection(ServiceElement) |
ホストされるサービスの構成ファイルからサービス要素を読み込みます。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
OnAbort() |
サービスを中止します。 |
OnBeginClose(TimeSpan, AsyncCallback, Object) |
サービス ホストの終了時に呼び出される非同期操作を開始します。 |
OnBeginOpen(TimeSpan, AsyncCallback, Object) |
サービス ホストの開始時に呼び出される非同期操作を開始します。 |
OnClose(TimeSpan) |
ホストされるサービスを、チャネル ディスパッチャー、関連付けられたインスタンス コンテキスト、およびリスナーを含めて終了します。 |
OnClosed() |
サービス ホストによって使用されているリソースを解放します。 |
OnClosed() |
通信オブジェクトが Closing 状態に遷移しているときに呼び出されます。 (継承元 CommunicationObject) |
OnClosing() |
通信オブジェクトが Closing 状態に遷移しているときに呼び出されます。 (継承元 CommunicationObject) |
OnEndClose(IAsyncResult) |
サービス ホストの終了時に呼び出された非同期操作を完了します。 |
OnEndOpen(IAsyncResult) |
サービス ホストの開始時に呼び出された非同期操作を完了します。 |
OnFaulted() |
同期フォールト操作の呼び出しにより通信オブジェクトが Faulted 状態に遷移した後で、通信オブジェクトに処理を挿入します。 (継承元 CommunicationObject) |
OnOpen(TimeSpan) |
チャネル ディスパッチャーを開きます。 |
OnOpened() |
ホストされるサービスのサービス資格情報、サービス認証およびサービス承認動作を取得します。 |
OnOpening() |
通信オブジェクトが Opening 状態に遷移しているときに呼び出されます。 (継承元 CommunicationObject) |
Open() |
通信オブジェクトを、Created 状態から Opened 状態に遷移させます。 (継承元 CommunicationObject) |
Open(TimeSpan) |
指定した時間内で、通信オブジェクトを Created 状態から Opened 状態に遷移させます。 (継承元 CommunicationObject) |
ReleasePerformanceCounters() |
ホストされるサービスの、サービスとチャネル ディスパッチャーのパフォーマンス カウンターを解放します。 |
SetEndpointAddress(ServiceEndpoint, String) |
指定されたエンドポイントのエンドポイント アドレスを指定されたアドレスに設定します。 |
ThrowIfDisposed() |
通信オブジェクトが破棄された場合に、例外をスローします。 (継承元 CommunicationObject) |
ThrowIfDisposedOrImmutable() |
通信オブジェクトの State プロパティが Created 状態に設定されていない場合、例外をスローします。 (継承元 CommunicationObject) |
ThrowIfDisposedOrNotOpen() |
通信オブジェクトが Opened 状態ではない場合に、例外をスローします。 (継承元 CommunicationObject) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
イベント
Closed |
通信オブジェクトが Closed 状態に遷移すると発生します。 (継承元 CommunicationObject) |
Closing |
通信オブジェクトが Closing 状態に遷移すると発生します。 (継承元 CommunicationObject) |
Faulted |
通信オブジェクトが Faulted 状態に遷移すると発生します。 (継承元 CommunicationObject) |
Opened |
通信オブジェクトが Opened 状態に遷移すると発生します。 (継承元 CommunicationObject) |
Opening |
通信オブジェクトが Opening 状態に遷移すると発生します。 (継承元 CommunicationObject) |
UnknownMessageReceived |
不明のメッセージが受信されたときに発生します。 |
明示的なインターフェイスの実装
IDisposable.Dispose() |
サービス ホストを閉じます。 |
適用対象
.NET