WSHttpBindingBase クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
WSHttpBinding および WSFederationHttpBinding に共通のメンバーを持つ基本クラスを提供します。
public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding
public ref class WSHttpBindingBase abstract : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding
public abstract class WSHttpBindingBase : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type WSHttpBindingBase = class
inherit Binding
type WSHttpBindingBase = class
inherit Binding
interface IBindingRuntimePreferences
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Public MustInherit Class WSHttpBindingBase
Inherits Binding
Implements IBindingRuntimePreferences
- 継承
- 派生
- 実装
例
次の例では、派生クラスである WSHttpBindingBase と WSHttpBinding を持つ WSFederationHttpBinding クラスによって提供される機能の使用方法を示します。
// Define a service contract for the calculator.
[ServiceContract()]
public interface ICalculator
{
[OperationContract(IsOneWay = false)]
double Add(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Subtract(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Multiply(double n1, double n2);
[OperationContract(IsOneWay = false)]
double Divide(double n1, double n2);
}
// Service class which implements the service contract.
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
double result = n1 + n2;
return result;
}
public double Subtract(double n1, double n2)
{
double result = n1 - n2;
return result;
}
public double Multiply(double n1, double n2)
{
double result = n1 * n2;
return result;
}
public double Divide(double n1, double n2)
{
double result = n1 / n2;
return result;
}
// Create and configure bindings within this EXE console application.
public static void Main()
{
// Create a WSHttpBinding
WSHttpBinding binding1 = new WSHttpBinding();
binding1.BypassProxyOnLocal = true;
EnvelopeVersion envelopeVersion =
binding1.EnvelopeVersion;
HostNameComparisonMode hostnameComparisonMode =
binding1.HostNameComparisonMode;
long maxBufferPoolSize =
binding1.MaxBufferPoolSize;
long maxReceivedMessageSize =
binding1.MaxReceivedMessageSize;
WSMessageEncoding messageEncoding =
binding1.MessageEncoding;
Uri proxyAddress =
binding1.ProxyAddress;
XmlDictionaryReaderQuotas readerQuotas =
binding1.ReaderQuotas;
OptionalReliableSession reliableSession =
binding1.ReliableSession;
string scheme = binding1.Scheme;
Encoding textEncoding =
binding1.TextEncoding;
bool transactionFlow =
binding1.TransactionFlow;
bool useDefaultWebProxy =
binding1.UseDefaultWebProxy;
BindingElementCollection bindingElements =
binding1.CreateBindingElements();
// Set WSHttpBinding binding property values
binding1.Name = "Binding1";
binding1.HostNameComparisonMode =
HostNameComparisonMode.StrongWildcard;
binding1.Security.Mode = SecurityMode.Message;
binding1.ReliableSession.Enabled = false;
binding1.TransactionFlow = false;
// binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
// Enumerate properties of the binding1.
Console.WriteLine("WSHttpBinding binding1 properties:");
Console.WriteLine(" - name:\t\t\t{0}", binding1.Name);
Console.WriteLine(" - hostname comparison:\t{0}", binding1.HostNameComparisonMode);
Console.WriteLine(" - security mode:\t\t{0}", binding1.Security.Mode);
Console.WriteLine(" - RM enabled:\t\t{0}", binding1.ReliableSession.Enabled);
Console.WriteLine(" - transaction flow:\t{0}", binding1.TransactionFlow);
//Console.WriteLine(" - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
Console.WriteLine(" - transport scheme:\t{0}", binding1.Scheme);
Console.WriteLine(" - max message size:\t{0}", binding1.MaxReceivedMessageSize);
Console.WriteLine(" - default text encoding:\t{0}", binding1.TextEncoding);
Console.WriteLine();
// Create a WSFederationBinding with a message security mode
// and with a reliable session enabled.
WSFederationHttpBinding binding3 = new WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, true);
// Enumerate properties of the binding2.
Console.WriteLine("WSFederationBinding binding3 properties:");
Console.WriteLine(" - security mode:\t\t{0}", binding3.Security.Mode);
Console.WriteLine(" - RM enabled:\t\t{0}", binding3.ReliableSession.Enabled);
Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate.");
Console.ReadLine();
}
static void SnippetReceiveSynchronously ()
{
WSHttpBinding binding = new WSHttpBinding();
IBindingRuntimePreferences s =
binding.GetProperty<IBindingRuntimePreferences>
(new BindingParameterCollection());
bool receiveSynchronously = s.ReceiveSynchronously;
}
}
' Define a service contract for the calculator.
<ServiceContract()> _
Public Interface ICalculator
<OperationContract(IsOneWay := False)> _
Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
<OperationContract(IsOneWay := False)> _
Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface
' Service class which implements the service contract.
Public Class CalculatorService
Implements ICalculator
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
Dim result = n1 + n2
Return result
End Function
Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Subtract
Dim result = n1 - n2
Return result
End Function
Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Multiply
Dim result = n1 * n2
Return result
End Function
Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Divide
Dim result = n1 / n2
Return result
End Function
' Create and configure bindings within this EXE console application.
Public Shared Sub Main()
' Create a WSHttpBinding
Dim binding1 As New WSHttpBinding()
binding1.BypassProxyOnLocal = True
Dim envelopeVersion As EnvelopeVersion = binding1.EnvelopeVersion
Dim hostnameComparisonMode As HostNameComparisonMode = binding1.HostNameComparisonMode
Dim maxBufferPoolSize = binding1.MaxBufferPoolSize
Dim maxReceivedMessageSize = binding1.MaxReceivedMessageSize
Dim messageEncoding As WSMessageEncoding = binding1.MessageEncoding
Dim proxyAddress As Uri = binding1.ProxyAddress
Dim readerQuotas As XmlDictionaryReaderQuotas = binding1.ReaderQuotas
Dim reliableSession As OptionalReliableSession = binding1.ReliableSession
Dim scheme = binding1.Scheme
Dim textEncoding = binding1.TextEncoding
Dim transactionFlow = binding1.TransactionFlow
Dim useDefaultWebProxy = binding1.UseDefaultWebProxy
Dim bindingElements As BindingElementCollection = binding1.CreateBindingElements()
' Set WSHttpBinding binding property values
binding1.Name = "Binding1"
binding1.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
binding1.Security.Mode = SecurityMode.Message
binding1.ReliableSession.Enabled = False
binding1.TransactionFlow = False
' binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign;
' Enumerate properties of the binding1.
Console.WriteLine("WSHttpBinding binding1 properties:")
Console.WriteLine(" - name:" & Constants.vbTab + Constants.vbTab + Constants.vbTab & "{0}", binding1.Name)
Console.WriteLine(" - hostname comparison:" & Constants.vbTab & "{0}", binding1.HostNameComparisonMode)
Console.WriteLine(" - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.Security.Mode)
Console.WriteLine(" - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding1.ReliableSession.Enabled)
Console.WriteLine(" - transaction flow:" & Constants.vbTab & "{0}", binding1.TransactionFlow)
'Console.WriteLine(" - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel);
Console.WriteLine(" - transport scheme:" & Constants.vbTab & "{0}", binding1.Scheme)
Console.WriteLine(" - max message size:" & Constants.vbTab & "{0}", binding1.MaxReceivedMessageSize)
Console.WriteLine(" - default text encoding:" & Constants.vbTab & "{0}", binding1.TextEncoding)
Console.WriteLine()
' Create a WSFederationBinding with a message security mode
' and with a reliable session enabled.
Dim binding3 As New WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, True)
' Enumerate properties of the binding2.
Console.WriteLine("WSFederationBinding binding3 properties:")
Console.WriteLine(" - security mode:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.Security.Mode)
Console.WriteLine(" - RM enabled:" & Constants.vbTab + Constants.vbTab & "{0}", binding3.ReliableSession.Enabled)
Console.WriteLine()
Console.WriteLine("Press <ENTER> to terminate.")
Console.ReadLine()
End Sub
Private Shared Sub SnippetReceiveSynchronously()
Dim binding As New WSHttpBinding()
Dim s As IBindingRuntimePreferences = binding.GetProperty(Of IBindingRuntimePreferences) (New BindingParameterCollection())
Dim receiveSynchronously = s.ReceiveSynchronously
End Sub
End Class
注釈
WSHttpBindingBase は、安全で信頼できる相互運用可能な Web サービスを構成するために使用されるバインド、たとえば、WSHttpBinding によって実装される非双方向サービス コントラクト用のバインド、特に WS-Federation プロトコルをサポートする安全で相互運用可能な WSFederationHttpBinding のための基本機能を提供します。
既定では、これは、メッセージ セキュリティと認証用 WS-Security、メッセージ配信用 HTTP、および Text/XML メッセージ エンコーディングを使用するランタイム スタックを生成します。 信頼性を得るために、WS-ReliableMessaging も使用するように構成できます。
WS-ReliableMessaging を使用するかどうかは、省略可能な reliableSessionEnabled
パラメーターを使用して設定できます。
コンストラクター
WSHttpBindingBase() |
WSHttpBindingBase クラスの新しいインスタンスを初期化します。 |
WSHttpBindingBase(Boolean) |
信頼できるセッションが有効かどうかを示す値を使用して、WSHttpBindingBase クラスの新しいインスタンスを初期化します。 |
プロパティ
BypassProxyOnLocal |
ローカル アドレスに対してプロキシ サーバーをバイパスするかどうかを示す値を取得します。値の設定も可能です。 |
CloseTimeout |
接続の終了を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。 (継承元 Binding) |
EnvelopeVersion |
このバインドによって処理されるメッセージに使用される SOAP のバージョンを取得します。 |
HostNameComparisonMode |
URI が一致した場合にサービスに到達するためにホスト名を使用するかどうかを示す値を取得または設定します。 |
MaxBufferPoolSize |
このバイディングを使用するエンドポイントが必要とするバッファーを管理するバッファー マネージャーに割り当てるメモリの最大量 (バイト単位) を取得または設定します。 |
MaxReceivedMessageSize |
バインディングで処理可能なメッセージの最大サイズ (バイト単位) を取得または設定します。 |
MessageEncoding |
SOAP メッセージのエンコードに MTOM または Text/XML が使用されるかどうかを取得または設定します。 |
MessageVersion |
バインディングで構成されるクライアントとサービスが使用するメッセージ バージョンを取得します。 (継承元 Binding) |
Name |
バインディングの名前を取得または設定します。 (継承元 Binding) |
Namespace |
バインドの XML 名前空間を取得または設定します。 (継承元 Binding) |
OpenTimeout |
接続の確立を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。 (継承元 Binding) |
ProxyAddress |
HTTP プロキシの URI アドレスを取得または設定します。 |
ReaderQuotas |
このバインディングを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を取得または設定します。 |
ReceiveTimeout |
アプリケーション メッセージが受信されない間に、接続が非アクティブになってから切断されるまでの時間を取得または設定します。 (継承元 Binding) |
ReliableSession |
システム指定のバインディングのいずれかを使用したときに使用できる、信頼できるセッションのバインド要素のプロパティにアクセスする便利な方法を提供するオブジェクトを取得します。 |
Scheme |
このバインディングで構成されたチャネルとリスナーのための URI トランスポート スキームを取得します。 |
SendTimeout |
書き込み操作の完了を待機する時間間隔を取得および設定します。これを超えるとトランスポートで例外が発生します。 (継承元 Binding) |
TextEncoding |
メッセージ テキストに使用される文字エンコーディングを取得または設定します。 |
TransactionFlow |
このバインディングが WS-Transactions のフローをサポートするかどうかを示す値を取得または設定します。 |
UseDefaultWebProxy |
使用できる場合にシステムの自動構成される HTTP プロキシを使用するかどうかを示す値を取得または設定します。 |
メソッド
BuildChannelFactory<TChannel>(BindingParameterCollection) |
指定した種類のチャネルを作成し、バインド パラメーターのコレクションで指定されている機能を満たすチャネル ファクトリ スタックを、クライアント上に構築します。 (継承元 Binding) |
BuildChannelFactory<TChannel>(Object[]) |
指定した種類のチャネルを作成し、オブジェクト配列で指定されている機能を満たすチャネル ファクトリ スタックを、クライアント上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(BindingParameterCollection) |
指定した種類のチャネルを受け入れ、バインド パラメーターのコレクションで指定されている機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Object[]) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, Object[]) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
BuildChannelListener<TChannel>(Uri, String, Object[]) |
指定した種類のチャネルを受け入れ、指定した機能を満たすチャネル リスナーを、サービス上に構築します。 (継承元 Binding) |
CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
指定したバインド パラメーターのコレクションを満たすチャネル ファクトリ スタックを、現在のバインドがクライアント上に構築できるかどうかを示す値を返します。 (継承元 Binding) |
CanBuildChannelFactory<TChannel>(Object[]) |
オブジェクト配列で指定した要件を満たすチャネル ファクトリ スタックを、現在のバインドがクライアント上に構築できるかどうかを示す値を返します。 (継承元 Binding) |
CanBuildChannelListener<TChannel>(BindingParameterCollection) |
指定したバインド パラメーターのコレクションを満たすチャネル リスナー スタックを、現在のバインドがサービス上に構築できるかどうかを示す値を返します。 (継承元 Binding) |
CanBuildChannelListener<TChannel>(Object[]) |
オブジェクトの配列で指定した条件を満たすチャネル リスナー スタックを、現在のバインドがサービス上に構築できるかどうかを示す値を返します。 (継承元 Binding) |
CreateBindingElements() |
現在のバインディングに含まれるバインディング要素の順序付けられたコレクションを返します。 |
CreateMessageSecurity() |
派生クラスで実装した場合は、現在のバインドから SecurityBindingElement を返します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetProperty<T>(BindingParameterCollection) |
バインド スタックの適切な層から、要求のあった型指定されたオブジェクト (ある場合) を返します。 (継承元 Binding) |
GetTransport() |
派生クラスで実装した場合は、現在のバインドからトランスポート バインド要素を返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ShouldSerializeName() |
バインドの名前をシリアル化する必要があるかどうかを示す値を返します。 (継承元 Binding) |
ShouldSerializeNamespace() |
バインドの名前空間をシリアル化する必要があるかどうかを示す値を返します。 (継承元 Binding) |
ShouldSerializeReaderQuotas() |
ReaderQuotas プロパティが既定値から変更されたためにシリアル化する必要があるかどうかを示す値を返します。 |
ShouldSerializeReliableSession() |
ReliableSession プロパティが既定値から変更されたためにシリアル化する必要があるかどうかを示す値を返します。 |
ShouldSerializeTextEncoding() |
TextEncoding プロパティが既定値から変更されたためにシリアル化する必要があるかどうかを示す値を返します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
IBindingRuntimePreferences.ReceiveSynchronously |
受信要求を同期処理するか、または非同期処理するかを示す値を取得します。 |