ServiceHostBase ServiceHostBase ServiceHostBase ServiceHostBase Class

定義

ServiceHostBase クラスを拡張して、カスタム プログラミング モデルを公開するホストを実装します。Extends the ServiceHostBase class to implement hosts that expose custom programming models.

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 クラスを使用します。This sample uses the ServiceHost class, which is derived from 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 クラスを拡張して、カスタム プログラミング モデルを提供するホストを作成します。Use the ServiceHostBase class to create hosts that provide a custom programming model. Windows Communication Foundation (WCF) サービスプログラミングモデルでは、 ServiceHostクラスを使用します。The Windows Communication Foundation (WCF) service programming model uses the ServiceHost class.

このクラスから派生するマネージド C++ ユーザーに対する特別な注意 :Special note for Managed C++ users deriving from this class:

  • クリーンアップ コードは、デストラクターではなく (On)(Begin)Close (または OnAbort のどちらか一方または両方) に置いてください。Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • デストラクターは使用しないでください。使用すると、コンパイラが IDisposable を自動生成します。Avoid destructors; they cause the compiler to auto-generate IDisposable.

  • 非参照メンバーを使用しないでください。使用すると、コンパイラが IDisposable を自動生成します。Avoid non-reference members; they can cause the compiler to auto-generate IDisposable.

  • ファイナライザーを使用しないでください。使用する場合は、ビルド警告を抑制し、SuppressFinalize(Object) を呼び出し、ファイナライザー自体を (On)(Begin)Close (または OnAbort のどちらか一方または両方) から呼び出して、自動生成される IDisposable の動作をエミュレートする必要があります。Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) to emulate what would have been the auto-generated IDisposable behavior.

コンストラクター

ServiceHostBase() ServiceHostBase() ServiceHostBase() ServiceHostBase()

ServiceHostBase クラスの新しいインスタンスを初期化します。Initializes a new instance of the ServiceHostBase class.

プロパティ

Authentication Authentication Authentication Authentication

サービスの認証動作を取得します。Gets the service authentication behavior.

Authorization Authorization Authorization Authorization

ホストされるサービスの承認動作を取得します。Gets the authorization behavior for the service hosted.

BaseAddresses BaseAddresses BaseAddresses BaseAddresses

ホストされるサービスによって使用されるベース アドレスを取得します。Gets the base addresses used by the hosted service.

ChannelDispatchers ChannelDispatchers ChannelDispatchers ChannelDispatchers

サービス ホストによって使用されるチャネル ディスパッチャーのコレクションを取得します。Gets the collection of channel dispatchers used by the service host.

CloseTimeout CloseTimeout CloseTimeout CloseTimeout

サービス ホストを閉じておける期間を取得または設定します。Gets or sets the interval of time allowed for the service host to close.

Credentials Credentials Credentials Credentials

ホストされるサービスの資格情報を取得します。Gets the credential for the service hosted.

DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout DefaultCloseTimeout

サービス ホストを閉じておける既定の期間を取得します。Gets the default interval of time allowed for the service host to close.

DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout DefaultOpenTimeout

サービス ホストを開いておける既定の期間を取得します。Gets the default interval of time allowed for the service host to open.

Description Description Description Description

ホストされるサービスの記述を取得します。Gets the description of the service hosted.

Extensions Extensions Extensions Extensions

現在の指定されたサービス ホストの拡張機能を取得します。Gets the extensions for the current specified service host.

ImplementedContracts ImplementedContracts ImplementedContracts ImplementedContracts

ホストされるサービスによって実装されるコントラクトを取得します。Retrieves the contracts implemented by the service hosted.

IsDisposed IsDisposed IsDisposed IsDisposed

通信オブジェクトが破棄されたかどうかを示す値を取得します。Gets a value that indicates whether the communication object has been disposed.

(Inherited from CommunicationObject)
ManualFlowControlLimit ManualFlowControlLimit ManualFlowControlLimit ManualFlowControlLimit

ホストされるサービスによって受信されるメッセージのフロー制御制限を取得または設定します。Gets or sets the flow control limit for messages received by the service hosted.

OpenTimeout OpenTimeout OpenTimeout OpenTimeout

サービス ホストを開いておける期間を取得または設定します。Gets or sets the interval of time allowed for the service host to open.

State State State State

通信オブジェクトの現在の状態を示す値を取得します。Gets a value that indicates the current state of the communication object.

(Inherited from CommunicationObject)
ThisLock ThisLock ThisLock ThisLock

状態遷移中にクラス インスタンスを保護する相互排他的なロックを取得します。Gets the mutually exclusive lock that protects the class instance during a state transition.

(Inherited from CommunicationObject)

メソッド

Abort() Abort() Abort() Abort()

通信オブジェクトを、直ちに現在の状態から Closing 状態に遷移させます。Causes a communication object to transition immediately from its current state into the closing state.

(Inherited from CommunicationObject)
AddBaseAddress(Uri) AddBaseAddress(Uri) AddBaseAddress(Uri) AddBaseAddress(Uri)

サービス ホストにベース アドレスを追加します。Adds a base address to the service host.

AddDefaultEndpoints() AddDefaultEndpoints() AddDefaultEndpoints() AddDefaultEndpoints()

既定のバインドを使用して、サービス ホストで検出された各コントラクト内のすべてのベース アドレスのサービス エンドポイントを追加します。Adds service endpoints for all base addresses in each contract found in the service host with the default binding.

AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint) AddServiceEndpoint(ServiceEndpoint)

ホストされるサービスに指定されたサービス エンドポイントを追加します。Adds the specified service endpoint to the hosted service.

AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String) AddServiceEndpoint(String, Binding, String)

指定されたコントラクト、バインディング、およびエンドポイント アドレスを持つホストされるサービスに、サービス エンドポイントを追加します。Adds a service endpoint to the hosted service with a specified contract, binding, and endpoint address.

AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri) AddServiceEndpoint(String, Binding, String, Uri)

コントラクト、バインド、エンドポイント アドレス、およびサービスがリッスンするアドレスを表す URI を指定して、ホストされるサービスにサービス エンドポイントを追加します。Adds a service endpoint to the hosted service with a specified contract, binding, endpoint address and URI that contains the address at which it listens.

AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri) AddServiceEndpoint(String, Binding, Uri)

指定したコントラクト、バインド、およびエンドポイント アドレスを含む URI を使用して、ホストされるサービスにサービス エンドポイントを追加します。Adds a service endpoint to the hosted service with a specified contract, binding, and a URI that contains the endpoint address.

AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri) AddServiceEndpoint(String, Binding, Uri, Uri)

コントラクト、バインド、およびエンドポイント アドレスとリッスン アドレスを含む URI を指定して、ホストされるサービスにサービス エンドポイントを追加します。Adds a service endpoint to the hosted service with the specified contract, binding, and URIs that contain the endpoint and listening addresses.

ApplyConfiguration() ApplyConfiguration() ApplyConfiguration() ApplyConfiguration()

サービス記述情報を構成ファイルから読み込み、構築中のランタイムにその情報を適用します。Loads the service description information from the configuration file and applies it to the runtime being constructed.

BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object) BeginClose(AsyncCallback, Object)

通信オブジェクトを閉じるための非同期操作を開始します。Begins an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object) BeginClose(TimeSpan, AsyncCallback, Object)

タイムアウトを指定して、通信オブジェクトをクローズするための非同期操作を開始します。Begins an asynchronous operation to close a communication object with a specified timeout.

(Inherited from CommunicationObject)
BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object) BeginOpen(AsyncCallback, Object)

通信オブジェクトを開くための非同期操作を開始します。Begins an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object) BeginOpen(TimeSpan, AsyncCallback, Object)

指定した時間内で通信オブジェクトを開くための非同期操作を開始します。Begins an asynchronous operation to open a communication object within a specified interval of time.

(Inherited from CommunicationObject)
Close() Close() Close() Close()

通信オブジェクトを、現在の状態から Closed 状態に遷移させます。Causes a communication object to transition from its current state into the closed state.

(Inherited from CommunicationObject)
Close(TimeSpan) Close(TimeSpan) Close(TimeSpan) Close(TimeSpan)

指定した時間内で、通信オブジェクトを現在の状態から Closed 状態に遷移させます。Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(Inherited from CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>) CreateDescription(IDictionary<String,ContractDescription>)

派生クラスで実装された場合は、ホストされるサービスの記述を作成します。When implemented in a derived class, creates the description of the hosted service.

EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult) EndClose(IAsyncResult)

通信オブジェクトを閉じるための非同期操作を完了します。Completes an asynchronous operation to close a communication object.

(Inherited from CommunicationObject)
EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult) EndOpen(IAsyncResult)

通信オブジェクトを開くための非同期操作を完了します。Completes an asynchronous operation to open a communication object.

(Inherited from CommunicationObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fault() Fault() Fault() Fault()

通信オブジェクトを、現在の状態から Faulted 状態に遷移させます。Causes a communication object to transition from its current state into the faulted state.

(Inherited from CommunicationObject)
GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType() GetCommunicationObjectType()

通信オブジェクトの型を取得します。Gets the type of communication object.

(Inherited from CommunicationObject)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32) IncrementManualFlowControlLimit(Int32)

ホストされるサービスへのメッセージのフロー レートの制限を、指定した値で増分します。Increases the limit on the flow rate of messages to the hosted service by a specified increment.

InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection) InitializeDescription(UriSchemeKeyedCollection)

コントラクトとサービスの記述を指定して、サービス ホストの作成と初期化を行います。Creates and initializes the service host with the contract and service descriptions.

InitializeRuntime() InitializeRuntime() InitializeRuntime() InitializeRuntime()

サービス ホストのランタイムを初期化します。Initializes the runtime for the service host.

LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement) LoadConfigurationSection(ServiceElement)

ホストされるサービスの構成ファイルからサービス要素を読み込みます。Loads the service element from the configuration file of the hosted service.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
OnAbort() OnAbort() OnAbort() OnAbort()

サービスを中止します。Aborts the service.

OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object) OnBeginClose(TimeSpan, AsyncCallback, Object)

サービス ホストの終了時に呼び出される非同期操作を開始します。Begins an asynchronous operation invoked on the close of the service host.

OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object) OnBeginOpen(TimeSpan, AsyncCallback, Object)

サービス ホストの開始時に呼び出される非同期操作を開始します。Begins an asynchronous operation invoked on the opening of the service host.

OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan) OnClose(TimeSpan)

ホストされるサービスを、チャネル ディスパッチャー、関連付けられたインスタンス コンテキスト、およびリスナーを含めて終了します。Closes down the hosted service, including their channel dispatchers and associated instance contexts and listeners.

OnClosed() OnClosed() OnClosed() OnClosed()

サービス ホストによって使用されているリソースを解放します。Releases resources used by the service host.

OnClosing() OnClosing() OnClosing() OnClosing()

通信オブジェクトが Closing 状態に遷移しているときに呼び出されます。Invoked during the transition of a communication object into the closing state.

(Inherited from CommunicationObject)
OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult) OnEndClose(IAsyncResult)

サービス ホストの終了時に呼び出された非同期操作を完了します。Completes an asynchronous operation invoked on the closing of the service host.

OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult) OnEndOpen(IAsyncResult)

サービス ホストの開始時に呼び出された非同期操作を完了します。Completes an asynchronous operation invoked on the opening of the service host.

OnFaulted() OnFaulted() OnFaulted() OnFaulted()

同期フォールト操作の呼び出しにより通信オブジェクトが Faulted 状態に遷移した後で、通信オブジェクトに処理を挿入します。Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(Inherited from CommunicationObject)
OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan) OnOpen(TimeSpan)

チャネル ディスパッチャーを開きます。Opens the channel dispatchers.

OnOpened() OnOpened() OnOpened() OnOpened()

ホストされるサービスのサービス資格情報、サービス認証およびサービス承認動作を取得します。Gets the service credentials,service authentication and authorization behavior for the hosted service.

OnOpening() OnOpening() OnOpening() OnOpening()

通信オブジェクトが Opening 状態に遷移しているときに呼び出されます。Invoked during the transition of a communication object into the opening state.

(Inherited from CommunicationObject)
Open() Open() Open() Open()

通信オブジェクトを、Created 状態から Opened 状態に遷移させます。Causes a communication object to transition from the created state into the opened state.

(Inherited from CommunicationObject)
Open(TimeSpan) Open(TimeSpan) Open(TimeSpan) Open(TimeSpan)

指定した時間内で、通信オブジェクトを Created 状態から Opened 状態に遷移させます。Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(Inherited from CommunicationObject)
ReleasePerformanceCounters() ReleasePerformanceCounters() ReleasePerformanceCounters() ReleasePerformanceCounters()

ホストされるサービスの、サービスとチャネル ディスパッチャーのパフォーマンス カウンターを解放します。Releases the service and channel dispatcher performance counters for the hosted service.

SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String) SetEndpointAddress(ServiceEndpoint, String)

指定されたエンドポイントのエンドポイント アドレスを指定されたアドレスに設定します。Sets the endpoint address of the specified endpoint to the specified address.

ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed() ThrowIfDisposed()

通信オブジェクトが破棄された場合に、例外をスローします。Throws an exception if the communication object is disposed.

(Inherited from CommunicationObject)
ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable() ThrowIfDisposedOrImmutable()

通信オブジェクトの State プロパティが Created 状態に設定されていない場合、例外をスローします。Throws an exception if the communication object the State property is not set to the Created state.

(Inherited from CommunicationObject)
ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen() ThrowIfDisposedOrNotOpen()

通信オブジェクトが Opened 状態ではない場合に、例外をスローします。Throws an exception if the communication object is not in the Opened state.

(Inherited from CommunicationObject)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

イベント

Closed Closed Closed Closed

通信オブジェクトが Closed 状態に遷移すると発生します。Occurs when a communication object transitions into the closed state.

(Inherited from CommunicationObject)
Closing Closing Closing Closing

通信オブジェクトが Closing 状態に遷移すると発生します。Occurs when a communication object transitions into the closing state.

(Inherited from CommunicationObject)
Faulted Faulted Faulted Faulted

通信オブジェクトが Faulted 状態に遷移すると発生します。Occurs when a communication object transitions into the faulted state.

(Inherited from CommunicationObject)
Opened Opened Opened Opened

通信オブジェクトが Opened 状態に遷移すると発生します。Occurs when a communication object transitions into the opened state.

(Inherited from CommunicationObject)
Opening Opening Opening Opening

通信オブジェクトが Opening 状態に遷移すると発生します。Occurs when a communication object transitions into the opening state.

(Inherited from CommunicationObject)
UnknownMessageReceived UnknownMessageReceived UnknownMessageReceived UnknownMessageReceived

不明のメッセージが受信されたときに発生します。Occurs when an unknown message is received.

明示的なインターフェイスの実装

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

サービス ホストを閉じます。Closes the service host.

適用対象