このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開

NetTcpRelayBinding クラス

コンピューター間の通信に適した、セキュリティで保護された信頼できるバインドを提供します。

名前空間:  Microsoft.ServiceBus
アセンブリ:  Microsoft.ServiceBus (Microsoft.ServiceBus.dll)

public class NetTcpRelayBinding : NetTcpRelayBindingBase, 
	IBindingRuntimePreferences

NetTcpRelayBinding 型は、以下のメンバーを公開しています。

  名前説明
パブリック メソッドNetTcpRelayBinding()NetTcpRelayBinding クラスの新しいインスタンスを初期化します。
パブリック メソッドNetTcpRelayBinding(String)指定した XML 構成を使用して、NetTcpRelayBinding クラスの新しいインスタンスを初期化します。
パブリック メソッドNetTcpRelayBinding(EndToEndSecurityMode, RelayClientAuthenticationType)使用されるセキュリティの種類と指定したリレー クライアント認証で、NetTcpRelayBinding クラスの新しいインスタンスを初期化します。
パブリック メソッドNetTcpRelayBinding(EndToEndSecurityMode, RelayClientAuthenticationType, Boolean)使用されるセキュリティの種類、クライアント認証の種類、および信頼できるセッションが明示的に有効かどうかを示す値で、NetTcpRelayBinding クラスの新しいインスタンスを初期化します。
プロテクト メソッドNetTcpRelayBinding(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement, ReliableSessionBindingElement, NetTcpRelaySecurity)指定したトランスポート、エンコード、セッション情報、およびセキュリティ設定を使用して、NetTcpRelayBinding クラスの新しいインスタンスを初期化します。
先頭に戻る

  名前説明
パブリック プロパティCloseTimeout (Binding から継承されています。)
パブリック プロパティConnectionMode接続モードを取得または設定します。Hybrid または Relayed です。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティEnvelopeVersionこのバインドで処理されたメッセージに使用される SOAP のバージョンを取得します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティHostNameComparisonModeホスト名で使用されている比較モードを取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティIsDynamicリレー バインドが動的であるかどうかを取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティListenBacklogキューに入れて保留できる接続要求の最大数を取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティMaxBufferPoolSizeバインドによって処理されるメッセージを格納するバッファー プールの最大サイズを取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティMaxBufferSizeメモリにメッセージを格納するために使用されるバッファーの最大サイズを指定する値を取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティMaxConnectionsクライアントでそれ以降に再利用するためにプールされる接続の最大数と、サーバー上でディスパッチ保留中となることが許可される接続の最大数を制御する値を取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティMaxReceivedMessageSizeバインドによって処理される受信メッセージの最大サイズを取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
プロテクト プロパティMessageSecurityVersionメッセージのセキュリティ バージョンを取得します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティMessageVersion (Binding から継承されています。)
パブリック プロパティName (Binding から継承されています。)
パブリック プロパティNamespace (Binding から継承されています。)
パブリック プロパティOpenTimeout (Binding から継承されています。)
パブリック プロパティReaderQuotasこのバインドで構成されたエンドポイントによって処理できる SOAP メッセージの複雑さの制限を取得または設定します。このプロパティを null にすることはできません。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティReceiveTimeout (Binding から継承されています。)
パブリック プロパティReliableSession信頼できるセッションが Windows Azure Service Bus チャネル エンドポイントの間で確立されているかどうかを示すオブジェクトを取得します。
パブリック プロパティSchemeトランスポートの URI スキームを取得します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティSecurityこのバインドで構成されたサービスで使用されるセキュリティの種類を指定するオブジェクトを取得します。 (NetTcpRelayBindingBase から継承されています。)
パブリック プロパティSendTimeout (Binding から継承されています。)
パブリック プロパティTransferModeバインドに構成されたサービスがメッセージ転送にストリーミング モードとバッファー モードのどちら (またはその両方) を使用するかを示す値を取得または設定します。 (NetTcpRelayBindingBase から継承されています。)
先頭に戻る

  名前説明
プロテクト メソッドApplyConfiguration指定された名前に対応する構成要素から、このバインド要素の現在のインスタンスに設定を適用します。 (NetTcpRelayBindingBase.ApplyConfiguration(String) をオーバーライドします。)
パブリック メソッドBuildChannelFactory<TChannel>(Object[]) (Binding から継承されています。)
パブリック メソッドBuildChannelFactory<TChannel>(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Object[]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, Object[]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, String, Object[]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCanBuildChannelFactory<TChannel>(Object[]) (Binding から継承されています。)
パブリック メソッドCanBuildChannelFactory<TChannel>(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCanBuildChannelListener<TChannel>(Object[]) (Binding から継承されています。)
パブリック メソッドCanBuildChannelListener<TChannel>(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCreateBindingElementsバインド用のバインド要素を使用してコレクションを作成します。 (NetTcpRelayBindingBase.CreateBindingElements() をオーバーライドします。)
プロテクト メソッドCreateMessageSecurity現在のインスタンスのメッセージ セキュリティ トークンを作成します。 (NetTcpRelayBindingBase.CreateMessageSecurity() をオーバーライドします。)
パブリック メソッドEquals (Object から継承されています。)
プロテクト メソッドFinalize (Object から継承されています。)
パブリック メソッドGetHashCode (Object から継承されています。)
パブリック メソッドGetProperty<T> (Binding から継承されています。)
パブリック メソッドGetType (Object から継承されています。)
プロテクト メソッドIsBindingElementsMatch(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement)指定したバインド要素が、現在のインスタンスにあるバインド要素の既定値と一致するかどうかを判定します。 (NetTcpRelayBindingBase から継承されています。)
プロテクト メソッドIsBindingElementsMatch(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement, ReliableSessionBindingElement)指定したオブジェクトに、一致するバインド要素があるかどうかを判定する値を返します。
プロテクト メソッドMemberwiseClone (Object から継承されています。)
パブリック メソッドShouldSerializeName (Binding から継承されています。)
パブリック メソッドShouldSerializeNamespace (Binding から継承されています。)
パブリック メソッドToString (Object から継承されています。)
先頭に戻る

  名前説明
プロテクト フィールドencoding現在のインスタンスのエンコード要素。エンコードは、セキュリティ設定やトランスポート設定と並ぶ、バインドの 3 つのコア プロパティです。 (NetTcpRelayBindingBase から継承されています。)
プロテクト フィールドtransport現在のインスタンスのトランスポート要素。トランスポート設定は、エンコードやセキュリティと並ぶ、バインドの 3 つのコア プロパティです。 (NetTcpRelayBindingBase から継承されています。)
先頭に戻る

  名前説明
明示的なインターフェイスの実装プライベート プロパティIBindingRuntimePreferences.ReceiveSynchronously着信要求が同期に処理されるか非同期に処理されるかを示す値を取得します。 (NetTcpRelayBindingBase から継承されています。)
先頭に戻る

Windows Azure Service Bus supports only Full Trust code access security.

注意

By default, NetTcpRelayBinding uses Transport Security.

NetTcpRelayBinding supports two connection modes, specified by the ConnectionMode property: Hybrid and Relayed. In Hybrid connection mode, communication is relayed through the Service Bus infrastructure while the client and service endpoints negotiate a direct socket connection to each other. In Relayed mode, all communication is relayed through the Service Bus cloud.

The NetTcpRelayBinding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding.

The default configuration for the NetTcpRelayBinding is faster than the configuration provided by the WSHttpRelayBinding. The security behavior is configurable using the optional securityMode parameter in the constructor. The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled parameter. However, reliable messaging is disabled by default.

Services using the NetTcpRelayBinding register their endpoints on the Windows Azure Service Bus using the "sb" URI scheme. Clients and service listeners created using this binding each use a pair of TCP socket connections to the cloud-based listener. The SSL-protected control channel uses outbound TCP port 828, while the data channel is using outbound port 818.

Bindings are generally instantiated and configured at the beginning of both a service and client application, as they are a requirement for connecting to the Windows Azure Service Bus. For more information, see Building a Service for the AppFabric Service Bus, and Building an AppFabric Service Bus Client Application.

The following example shows how to define and use NetTcpRelayBinding with the default configuration for a service and client in an application configuration file.

<system.serviceModel>

  <bindings>
    <!-- Application Binding -->
    <netTcpRelayBinding>
      <binding name="default" />
    </netTcpRelayBinding>
  </bindings>

  <client>
    <endpoint name="RelayEndpoint"
              contract="Microsoft.ServiceBus.Samples.IMyContract"
              binding="netTcpRelayBinding"
              bindingConfiguration="default"
              behaviorConfiguration="ReplaceWithEndpointBehaviorName"
              address="ReplaceWithEndpointAddress" />
  </client>
  
  <services>
    <service name="Microsoft.ServiceBus.Samples.MyService">
      <!-- Keep address empty to use host base address, or -->
      <!-- replace with endpoint address. -->
      <endpoint name="RelayEndpoint"
                contract="Microsoft.ServiceBus.Samples.IMyContract"
                binding="netTcpRelayBinding"
                bindingConfiguration="default"                
                behaviorConfiguration="ReplaceWithEndpointBehaviorName"
                address="" />
    </service>
  </services>

  <behaviors>
    <endpointBehaviors>
      <!-- Add endpoint behavior here. -->
    </endpointBehaviors>
  </behaviors>

</system.serviceModel>

The following example is similar to the previous example except that it defines a custom configuration for NetTcpRelayBinding. It turns client authentication off, which means that the client is not required to present a security token to the Windows Azure Service Bus.

<system.serviceModel>

  <bindings>
    <!-- Application Binding -->
    <netTcpRelayBinding>
      <binding name="customBinding">
        <!-- Turn off client authentication -->
        <security relayClientAuthenticationType="None" />
    </netTcpRelayBinding>
  </bindings>

  <client>
    <!-- No behavior configuration is added to this endpoint as the client does not need to authenticate. -->
    <endpoint name="RelayEndpoint"
              contract="Microsoft.ServiceBus.Samples.IMyContract"
              binding="netTcpRelayBinding"
              bindingConfiguration="customBinding"
              address="ReplaceWithEndpointAddress" />
  </client>
  
  <services>
    <service name="Microsoft.ServiceBus.Samples.MyService">
      <!-- Keep address empty to use host base address, or -->
      <!-- replace with endpoint address. -->
      <endpoint name="RelayEndpoint"
                contract="Microsoft.ServiceBus.Samples.IMyContract"
                binding="netTcpRelayBinding"
                bindingConfiguration="customBinding"
                behaviorConfiguration="ReplaceWithEndpointBehaviorName"
                address="" />
    </service>
  </services>

  <behaviors>
    <endpointBehaviors>
      <!-- Add endpoint behavior here. -->
    </endpointBehaviors>
  </behaviors>

</system.serviceModel>

The following example illustrates the use of NetTcpRelayBinding programmatically with its default settings. The default settings of NetTcpRelayBinding for the end-to-end security mode and client authentication type are EndToEndSecurityMode.Transport and RelayClientAuthenticationType.RelayAccessToken respectively. For a complete working sample that uses the NetTcpRelayBinding, check out the samples in the SDK install directory under \Samples\ServiceBus\ExploringFeatures\Bindings\NetTcp.

This example starts by specifying the credentials the service and the client are expected to send to the Windows Azure Service Bus by creating an endpoint behavior. Next, it creates the binding, the service address, and starts the service host. After starting the service, a channel factory is created for the IMyChannel channel type that is used to generate a client channel to the service. Finally, the client channel is opened.

// Configure the credentials for the service and client endpoints through an endpoint behavior.
TransportClientEndpointBehavior relayCredentials = new TransportClientEndpointBehavior();
relayCredentials.CredentialType = TransportClientCredentialType.SharedSecret;
relayCredentials.Credentials.SharedSecret.IssuerName = issuerName;
relayCredentials.Credentials.SharedSecret.IssuerSecret = issuerSecret;

// Create the binding with default settings.
NetTcpRelayBinding binding = new NetTcpRelayBinding();        

// Get the service URI.
Uri serviceAddress = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace,
       String.Format(CultureInfo.InvariantCulture, "{0}/MyService/", session));

// Create the service host.
ServiceHost host = new ServiceHost(typeof(MyService), serviceAddress);
// Add the service endpoint with the NetTcpRelayBinding binding.
host.AddServiceEndpoint(typeof(IMyContract), binding, serviceAddress);
// Add the credentials through the endpoint behavior.
host.Description.Endpoints[0].Behaviors.Add(relayCredentials);
// Start the service.
host.Open();

// Create a channel factory for the specified channel type.
// This channel factory is used to create client channels to the service. 
// Each client channel the channel factory creates is configured to use the 
// NetTcpRelayBinding that is passed to the constructor of the channel factory.
ChannelFactory<IMyChannel> channelFactory = new ChannelFactory<IMyChannel>(
    binding, new EndpointAddress(serviceAddress));
channelFactory.Endpoint.Behaviors.Add(relayCredentials);

// Create and open the client channel.
IMyChannel channel = channelFactory.CreateChannel();
channel.Open();

The following example is similar to the previous example except that it uses NetTcpRelayBinding with custom settings. It turns off client authentication, which means that the client is not required to present a security token to the Windows Azure Service Bus. Since the client is not required to authenticate, no endpoint behavior for the credentials is added to the client channel. Note that the behavior is still added to the service endpoint because the service application always authenticates with the Windows Azure Service Bus.

// Configure the credentials for the service and client endpoints through an endpoint behavior.
TransportClientEndpointBehavior relayCredentials = new TransportClientEndpointBehavior();
relayCredentials.CredentialType = TransportClientCredentialType.SharedSecret;
relayCredentials.Credentials.SharedSecret.IssuerName = issuerName;
relayCredentials.Credentials.SharedSecret.IssuerSecret = issuerSecret;

// Create the binding with custom settings.
NetTcpRelayBinding binding = new NetTcpRelayBinding();        
// The client is not required to present a security token to the AppFabric Service Bus.
binding.Security.RelayClientAuthenticationType = RelayClientAuthenticationType.None;

// Get the service URI.
Uri serviceAddress = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace,
       String.Format(CultureInfo.InvariantCulture, "{0}/MyService/", session));

// Create the service host.
ServiceHost host = new ServiceHost(typeof(MyService), serviceAddress);
// Add the service endpoint with the NetTcpRelayBinding binding.
host.AddServiceEndpoint(typeof(IMyContract), binding, serviceAddress);
// Add the credentials through the endpoint behavior.
host.Description.Endpoints[0].Behaviors.Add(relayCredentials);
// Start the service.
host.Open();

// Create a channel factory for the specified channel type.
// This channel factory is used to create client channels to the service. 
// Each client channel the channel factory creates is configured to use the 
// NetTcpRelayBinding that is passed to the constructor of the channel factory.
ChannelFactory<IMyChannel> channelFactory = new ChannelFactory<IMyChannel>(
    binding, new EndpointAddress(serviceAddress));

// Create and open the client channel.
IMyChannel channel = channelFactory.CreateChannel();
channel.Open();

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コミュニティの追加

追加
表示:
© 2015 Microsoft