ClientBase<TChannel> ClientBase<TChannel> ClientBase<TChannel> ClientBase<TChannel> Class

定義

サービスを呼び出すことができる Windows Communication Foundation (WCF) クライアント オブジェクトを作成するために使用する基本実装を用意します。Provides the base implementation used to create Windows Communication Foundation (WCF) client objects that can call services.

generic <typename TChannel>
 where TChannel : classpublic ref class ClientBase abstract : IDisposable, System::ServiceModel::ICommunicationObject
public abstract class ClientBase<TChannel> : IDisposable, System.ServiceModel.ICommunicationObject where TChannel : class
type ClientBase<'Channel (requires 'Channel : null)> = class
    interface IDisposable
    interface ICommunicationObject
Public MustInherit Class ClientBase(Of TChannel)
Implements ICommunicationObject, IDisposable

型パラメーター

TChannel

サービスに接続するために使用されるチャネル。The channel to be used to connect to the service.

継承
ClientBase<TChannel>ClientBase<TChannel>ClientBase<TChannel>ClientBase<TChannel>
派生
実装

次のコード例に示す方法、 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)拡張、 ClientBase<TChannel> WCF クライアント クラスを作成するクラス。The following code example shows how the ServiceModel Metadata Utility Tool (Svcutil.exe) extends the ClientBase<TChannel> class to create a WCF client class.

public partial class SampleServiceClient : System.ServiceModel.ClientBase<ISampleService>, ISampleService
{
    
    public SampleServiceClient()
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName) : 
            base(endpointConfigurationName)
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName, string remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public SampleServiceClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(endpointConfigurationName, remoteAddress)
    {
    }
    
    public SampleServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
            base(binding, remoteAddress)
    {
    }
    
    public string SampleMethod(string msg)
    {
        return base.Channel.SampleMethod(msg);
    }
}
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")> _
Partial Public Class SampleServiceClient
    Inherits System.ServiceModel.ClientBase(Of ISampleService)
    Implements ISampleService

    Public Sub New()
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String)
        MyBase.New(endpointConfigurationName)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal endpointConfigurationName As String, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(endpointConfigurationName, remoteAddress)
    End Sub

    Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, _
                   ByVal remoteAddress As System.ServiceModel.EndpointAddress)
        MyBase.New(binding, remoteAddress)
    End Sub

    Public Function SampleMethod(ByVal msg As String) As String Implements ISampleService.SampleMethod
        Return MyBase.Channel.SampleMethod(msg)
    End Function
End Class

注釈

拡張、ClientBase<TChannel>サービスへの接続に使用できるカスタム WCF クライアント オブジェクトを作成するクラス。Extend the ClientBase<TChannel> class to create a custom WCF client object that can be used to connect to a service. 通常、WCF クライアントの基本クラスは、ツールによって拡張など、 ServiceModel メタデータ ユーティリティ ツール (Svcutil.exe)あなたの代わりにします。Typically, the WCF client base class is extended by a tool such as the ServiceModel Metadata Utility Tool (Svcutil.exe) on your behalf. 例については、「使用例」のセクションを参照してください。For an example, see the Example section.

ClientBase<TChannel> は、開発者がインターフェイスと System.ServiceModel.ChannelFactory<TChannel> クラスではなくオブジェクトの使用を希望する場合に、容易に使用できるクラスです。The ClientBase<TChannel> class can be used quickly and easily by developers who prefer objects to the use of the interfaces and the System.ServiceModel.ChannelFactory<TChannel> class. どのような場合でも、このクラスは、System.ServiceModel.ChannelFactory<TChannel> クラスと System.ServiceModel.IClientChannel インターフェイスのメソッドと機能をラップまたは公開します。In all cases this class wraps or exposes the methods and functionality of the System.ServiceModel.ChannelFactory<TChannel> class and the System.ServiceModel.IClientChannel interface.

System.ServiceModel.ServiceHost クラスを使用しているときは、任意の呼び出しを行うとき、または Open を呼び出す前に、このクラスを作成して、エンドポイント、チャネル ファクトリ、またはセキュリティ情報を変更できます。As when using the System.ServiceModel.ServiceHost class, you can create the class and modify the endpoint, channel factory, or security information prior to making any calls or calling Open. 詳細については、次を参照してください。 WCF Client Overviewにアクセスするサービスの WCF クライアントを使用してします。For more information, see WCF Client Overview and Accessing Services Using a WCF Client.

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

  • クリーンアップ コードは、デストラクターではなく (On)(Begin)Close (または OnAbort のどちらか一方または両方) に置いてください。Put your clean-up 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.

コンストラクター

ClientBase<TChannel>() ClientBase<TChannel>() ClientBase<TChannel>() ClientBase<TChannel>()

アプリケーション構成ファイルの既定のターゲット エンドポイントを使用して、ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the default target endpoint from the application configuration file.

ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress) ClientBase<TChannel>(Binding, EndpointAddress)

指定したバインドとターゲット アドレスを使用して、ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the specified binding and target address.

ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext) ClientBase<TChannel>(InstanceContext)

callbackInstance クラスを双方向通信でのコールバック オブジェクトとして使用する ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the callbackInstance as the callback object in a duplex conversation.

ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress) ClientBase<TChannel>(InstanceContext, Binding, EndpointAddress)

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

ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint) ClientBase<TChannel>(InstanceContext, ServiceEndpoint)

指定した ClientBase<TChannel> オブジェクトと InstanceContext オブジェクトを使用して、ServiceEndpoint クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the specified InstanceContext and ServiceEndpoint objects.

ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String) ClientBase<TChannel>(InstanceContext, String)

指定したコールバック サービスとエンドポイント構成情報を使用して、ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the specified callback service and endpoint configuration information.

ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress) ClientBase<TChannel>(InstanceContext, String, EndpointAddress)

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

ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String) ClientBase<TChannel>(InstanceContext, String, String)

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

ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint) ClientBase<TChannel>(ServiceEndpoint)

指定した ServiceEndpoint を使用して、ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the specified ServiceEndpoint.

ClientBase<TChannel>(String) ClientBase<TChannel>(String) ClientBase<TChannel>(String) ClientBase<TChannel>(String)

ClientBase<TChannel> によるアプリケーション構成ファイルに指定された構成情報を使用して、endpointConfigurationName クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the configuration information specified in the application configuration file by endpointConfigurationName.

ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress) ClientBase<TChannel>(String, EndpointAddress)

指定したターゲット アドレスとエンドポイント情報を使用して、ClientBase<TChannel> クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientBase<TChannel> class using the specified target address and endpoint information.

ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String) ClientBase<TChannel>(String, String)

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

プロパティ

CacheSetting CacheSetting CacheSetting CacheSetting

キャッシュ設定を取得または設定します。Gets or sets the cache setting.

Channel Channel Channel Channel

さまざまな構成のサービス エンドポイントにメッセージを送信するために使用する内部チャネルを取得します。Gets the inner channel used to send messages to variously configured service endpoints.

ChannelFactory ChannelFactory ChannelFactory ChannelFactory

基になる ChannelFactory<TChannel> オブジェクトを取得します。Gets the underlying ChannelFactory<TChannel> object.

ClientCredentials ClientCredentials ClientCredentials ClientCredentials

操作を呼び出すために使用されるクライアント資格情報を取得します。Gets the client credentials used to call an operation.

Endpoint Endpoint Endpoint Endpoint

WCF クライアントが接続できるサービスのターゲット エンドポイントを取得します。Gets the target endpoint for the service to which the WCF client can connect.

InnerChannel InnerChannel InnerChannel InnerChannel

基になる IClientChannel 実装を取得します。Gets the underlying IClientChannel implementation.

State State State State

ClientBase<TChannel> オブジェクトの現在の状態を取得します。Gets the current state of the ClientBase<TChannel> object.

メソッド

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

ClientBase<TChannel> オブジェクトを、現在の状態から Closed 状態に直ちに遷移させます。Causes the ClientBase<TChannel> object to transition immediately from its current state into the closed state.

Close() Close() Close() Close()

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

CreateChannel() CreateChannel() CreateChannel() CreateChannel()

サービスへの新しいチャネルを返します。Returns a new channel to the service.

DisplayInitializationUI() DisplayInitializationUI() DisplayInitializationUI() DisplayInitializationUI()

使用前にチャネルを初期化するときにユーザー インターフェイスが必要な場合は、ユーザー インターフェイスを表示するように内部チャネルに指示します。Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>() GetDefaultValueForInitialization<T>()

C# の既定のキーワードの動作をレプリケートします。Replicates the behavior of the default keyword in C#.

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)
InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object) InvokeAsync(ClientBase<TChannel>, Object[], ClientBase<TChannel>, SendOrPostCallback, Object)

イベント ベースの非同期パターンをサポートします。Provides support for implementing the event-based asynchronous pattern. このパターンの詳細については、「イベント ベースの非同期パターンの概要」を参照してください。For more information about this pattern, see Event-based Asynchronous Pattern Overview.

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

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

(Inherited from Object)
Open() Open() Open() Open()

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

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

ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object) ICommunicationObject.BeginClose(AsyncCallback, Object)

ClientBase<TChannel> を閉じるための非同期操作を開始します。Begins an asynchronous operation to close the ClientBase<TChannel>.

ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginClose(TimeSpan, AsyncCallback, Object)

指定したタイムアウトで ClientBase<TChannel> を閉じるための非同期操作を開始します。Begins an asynchronous operation to close the ClientBase<TChannel> with a specified timeout.

ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object) ICommunicationObject.BeginOpen(AsyncCallback, Object)

ClientBase<TChannel> オブジェクトを開くための非同期操作を開始します。Begins an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object) ICommunicationObject.BeginOpen(TimeSpan, AsyncCallback, Object)

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

ICommunicationObject.Close() ICommunicationObject.Close() ICommunicationObject.Close() ICommunicationObject.Close()
ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan) ICommunicationObject.Close(TimeSpan)

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

ICommunicationObject.Closed ICommunicationObject.Closed ICommunicationObject.Closed ICommunicationObject.Closed

ClientBase<TChannel> オブジェクトが現在の状態から Closed 状態に遷移するときに呼び出されるイベント ハンドラー。The event handler that is invoked when the ClientBase<TChannel> object has transitioned from its current state to the closed state.

ICommunicationObject.Closing ICommunicationObject.Closing ICommunicationObject.Closing ICommunicationObject.Closing

ClientBase<TChannel> オブジェクトが現在の状態から Closed 状態に遷移するときに呼び出されるイベント ハンドラー。The event handler that is invoked when the ClientBase<TChannel> object transitions from its current state to the closed state.

ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult) ICommunicationObject.EndClose(IAsyncResult)

ClientBase<TChannel> オブジェクトを閉じるための非同期操作を完了します。Completes an asynchronous operation to close the ClientBase<TChannel> object.

ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult) ICommunicationObject.EndOpen(IAsyncResult)

ClientBase<TChannel> オブジェクトを開くための非同期操作を完了します。Completes an asynchronous operation to open the ClientBase<TChannel> object.

ICommunicationObject.Faulted ICommunicationObject.Faulted ICommunicationObject.Faulted ICommunicationObject.Faulted

ClientBase<TChannel> オブジェクトに対する操作の実行中にエラーが発生したときに呼び出されるイベント ハンドラー。The event handler that is invoked when a fault occurs while performing an operation on the ClientBase<TChannel> object.

ICommunicationObject.Open() ICommunicationObject.Open() ICommunicationObject.Open() ICommunicationObject.Open()
ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan) ICommunicationObject.Open(TimeSpan)

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

ICommunicationObject.Opened ICommunicationObject.Opened ICommunicationObject.Opened ICommunicationObject.Opened

ClientBase<TChannel> オブジェクトが Created 状態から Opened 状態に遷移したときに呼び出されるイベント ハンドラー。The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

ICommunicationObject.Opening ICommunicationObject.Opening ICommunicationObject.Opening ICommunicationObject.Opening

ClientBase<TChannel> オブジェクトが Created 状態から Opened 状態に遷移したときに呼び出されるイベント ハンドラー。The event handler that is invoked when the ClientBase<TChannel> object transitions from the created state to the opened state.

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

Dispose() メソッドの明示的な実装。Explicit implementation of the Dispose() method.

適用対象