CustomBinding CustomBinding CustomBinding CustomBinding Class

定義

バインド要素の一覧からバインドを定義します。Defines a binding from a list of binding elements.

public ref class CustomBinding : System::ServiceModel::Channels::Binding
[System.Windows.Markup.ContentProperty("Elements")]
public class CustomBinding : System.ServiceModel.Channels.Binding
type CustomBinding = class
    inherit Binding
Public Class CustomBinding
Inherits Binding
継承
CustomBindingCustomBindingCustomBindingCustomBinding
属性

次の例では、CustomBinding および ReliableSessionBindingElement を使用して HttpTransportBindingElement オブジェクトを作成する方法を示します。The following example shows how to create a CustomBinding object using a ReliableSessionBindingElement and an HttpTransportBindingElement

Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");

// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    // Create a custom binding that contains two binding elements.
    ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
    reliableSession.Ordered = true;

    HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
    httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
    httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

    CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

    // Add an endpoint using that binding.
    serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

    // Add a MEX endpoint.
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
    serviceHost.Description.Behaviors.Add(smb);
  
    // Open the ServiceHostBase to create listeners and 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.WriteLine();
    Console.ReadLine();

    // Close the ServiceHostBase to shutdown the service.
    serviceHost.Close();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")

' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
	' Create a custom binding that contains two binding elements.
	Dim reliableSession As New ReliableSessionBindingElement()
	reliableSession.Ordered = True

	Dim httpTransport As New HttpTransportBindingElement()
	httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
	httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard

	Dim binding As New CustomBinding(reliableSession, httpTransport)

	' Add an endpoint using that binding.
	serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")

	' Add a MEX endpoint.
	Dim smb As New ServiceMetadataBehavior()
	smb.HttpGetEnabled = True
	smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
	serviceHost.Description.Behaviors.Add(smb)

	' Open the ServiceHostBase to create listeners and 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.WriteLine()
	Console.ReadLine()

	' Close the ServiceHostBase to shutdown the service.
	serviceHost.Close()
End Using

注釈

システムが提供するバインディングの中にサービスの要件を満たすものがない場合は、カスタム バインドを使用します。Use a custom binding when one of the system-provided bindings does not meet the requirements of your service. たとえば、カスタム バインドを使用すると、サービス エンドポイントで新しいトランスポートや新しいエンコーダーを使用できます。A custom binding could be used, for example, to enable the use of a new transport or a new encoder at a service endpoint.

カスタム バインドは、特定の順序で "積み重ねられている" バインド要素のコレクションから CustomBinding の 1 つを使用して作成します。A custom binding is constructed using one of the CustomBinding from a collection of binding elements that are "stacked" in a specific order:

各層のオプションの概要を次の表に示します。The following table summarizes the options for each layer.

レイヤーLayer オプションOptions 必須Required
トランザクション フローTransaction Flow TransactionFlowBindingElement いいえNo
信頼性Reliability ReliableSessionBindingElement いいえNo
セキュリティSecurity 同期、非同期、トランスポート レベルSymmetric, Asymmetric, Transport-Level いいえNo
形状の変更Shape Change CompositeDuplexBindingElement いいえNo
トランスポートのアップグレードTransport Upgrades SSL ストリーム、Windows ストリーム、ピア リゾルバーSSL stream, Windows stream, Peer Resolver いいえNo
エンコードEncoding テキスト、バイナリ、MTOM、カスタムText, Binary, MTOM, Custom はいYes
TransportTransport TCP、名前付きパイプ、HTTP、HTTPS、MSMQ のフレーバー、カスタムTCP, Named Pipes, HTTP, HTTPS, flavors of MSMQ, Custom はいYes

さらに、独自のバインド要素を定義し、それを定義済みの層のいずれかの間に挿入できます。In addition, you can define your own binding elements and insert them between any of the preceding defined layers.

カスタムバインディングを使用してシステム指定のバインディングを変更する方法の詳細については、「」を参照してください。システム指定のバインディングをカスタマイズします。For a discussion on how to use a custom binding to modify a system-provided binding, see How to: Customize a System-Provided Binding.

注意

.NET Framework 3.5.NET Framework 3.5またはそれ以前のバージョンでビルドされた wcf クライアントアプリケーションから .NET Framework 4.0 以降でビルドされた wcf サービスを呼び出す場合、svcutil.exe によって生成される構成ファイルまたは Visual Studio からサービス参照を追加すると、有効になります。バインディング構成の属性。When calling a WCF service built with .NET Framework 4.0 or later from a WCF client application built with .NET Framework 3.5.NET Framework 3.5 or earlier, the configuration file generated by svcutil.exe or adding a service reference from Visual Studio will contain the validity attribute in the binding configuration. この属性は、.NET Framework 3.5.NET Framework 3.5 ランタイムによって認識されないため、アプリケーションでは ConfigurationErrorsException がスローされ、"認識されない属性 validity" のメッセージが表示されます。This attribute is not recognized by the .NET Framework 3.5.NET Framework 3.5 runtime and the application will thrown an ConfigurationErrorsException with the message "Unrecognized attribute validity". この問題を回避するには、バインド構成から validity 属性を削除します。To workaround this problem, remove the validity attribute from the binding configuration.

コンストラクター

CustomBinding() CustomBinding() CustomBinding() CustomBinding()

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

CustomBinding(Binding) CustomBinding(Binding) CustomBinding(Binding) CustomBinding(Binding)

指定したバインディングの値を使用して、CustomBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomBinding class from the values of a specified binding.

CustomBinding(BindingElement[]) CustomBinding(BindingElement[]) CustomBinding(BindingElement[]) CustomBinding(BindingElement[])

バインド要素の配列を使用して CustomBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomBinding class from an array of binding elements.

CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>) CustomBinding(IEnumerable<BindingElement>)

完全なチャネル スタックのバインディング要素を使用して、CustomBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomBinding class with the binding elements from a complete channel stack.

CustomBinding(String) CustomBinding(String) CustomBinding(String) CustomBinding(String)

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

CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[]) CustomBinding(String, String, BindingElement[])

指定した名前と名前空間を使用して、バインド要素の配列から CustomBinding クラスの新しいインスタンスを初期化します。Initializes a new instance of the CustomBinding class from an array of binding elements with a specified name and namespace.

プロパティ

CloseTimeout CloseTimeout CloseTimeout CloseTimeout

接続の終了を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(Inherited from Binding)
Elements Elements Elements Elements

カスタム バインドからバインド要素を取得します。Gets the binding elements from the custom binding.

MessageVersion MessageVersion MessageVersion MessageVersion

バインドで構成されるクライアントとサービスが使用するメッセージ バージョンを取得します。Gets the message version used by clients and services configured with the binding.

(Inherited from Binding)
Name Name Name Name

バインドの名前を取得または設定します。Gets or sets the name of the binding.

(Inherited from Binding)
Namespace Namespace Namespace Namespace

バインドの XML 名前空間を取得または設定します。Gets or sets the XML namespace of the binding.

(Inherited from Binding)
OpenTimeout OpenTimeout OpenTimeout OpenTimeout

接続の確立を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(Inherited from Binding)
ReceiveTimeout ReceiveTimeout ReceiveTimeout ReceiveTimeout

アプリケーション メッセージが受信されない間に、接続が非アクティブになってから切断されるまでの時間を取得または設定します。Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(Inherited from Binding)
Scheme Scheme Scheme Scheme

カスタム バインドが使用するトランスポートの URI スキームを取得します。Gets the URI scheme for transport used by the custom binding.

SendTimeout SendTimeout SendTimeout SendTimeout

書き込み操作の完了を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(Inherited from Binding)

メソッド

BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection) BuildChannelFactory<TChannel>(BindingParameterCollection)

指定した種類のチャネルを作成し、バインド パラメーターのコレクションで指定されている機能を満たすチャネル ファクトリ スタックを、クライアント上に構築します。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(Inherited from Binding)
BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[]) BuildChannelFactory<TChannel>(Object[])

指定した種類のチャネルを作成し、オブジェクト配列で指定されている機能を満たすチャネル ファクトリ スタックを、クライアント上に構築します。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

(Inherited from Binding)
BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection) BuildChannelListener<TChannel>(BindingParameterCollection)

指定した種類のチャネルを受け入れ、バインド パラメーターのコレクションで指定されている機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(Inherited from Binding)
BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[]) BuildChannelListener<TChannel>(Object[])

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[]) BuildChannelListener<TChannel>(Uri, Object[])

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[]) BuildChannelListener<TChannel>(Uri, String, Object[])

指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Inherited from Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection) CanBuildChannelFactory<TChannel>(BindingParameterCollection)

指定したバインド パラメーターのコレクションを満たすチャネル ファクトリ スタックを、現在のバインドがクライアント上に構築できるかどうかを示す値を返します。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

(Inherited from Binding)
CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[]) CanBuildChannelFactory<TChannel>(Object[])

オブジェクト配列で指定した要件を満たすチャネル ファクトリ スタックを、現在のバインドがクライアント上に構築できるかどうかを示す値を返します。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

(Inherited from Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection) CanBuildChannelListener<TChannel>(BindingParameterCollection)

指定したバインド パラメーターのコレクションを満たすチャネル リスナー スタックを、現在のバインドがサービス上に構築できるかどうかを示す値を返します。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

(Inherited from Binding)
CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[]) CanBuildChannelListener<TChannel>(Object[])

オブジェクトの配列で指定した条件を満たすチャネル リスナー スタックを、現在のバインドがサービス上に構築できるかどうかを示す値を返します。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

(Inherited from Binding)
CreateBindingElements() CreateBindingElements() CreateBindingElements() CreateBindingElements()

カスタム バインドのバインド要素のジェネリック コレクションを返します。Returns a generic collection of the binding elements from the custom binding.

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

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection) GetProperty<T>(BindingParameterCollection)

バインド スタックの適切な層から、要求のあった型指定されたオブジェクト (ある場合) を返します。Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(Inherited from Binding)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ShouldSerializeName() ShouldSerializeName() ShouldSerializeName() ShouldSerializeName()

バインドの名前をシリアル化する必要があるかどうかを示す値を返します。Returns whether the name of the binding should be serialized.

(Inherited from Binding)
ShouldSerializeNamespace() ShouldSerializeNamespace() ShouldSerializeNamespace() ShouldSerializeNamespace()

バインドの名前空間をシリアル化する必要があるかどうかを示す値を返します。Returns whether the namespace of the binding should be serialized.

(Inherited from Binding)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

適用対象