エクスポート (0) 印刷
すべて展開

NetEventRelayBinding クラス

一方向のイベント マルチキャストをサポートし、同じエンドポイントで任意の数のイベント パブリッシャーおよびイベント コンシューマーに待ち合わせを許可するバインドを表します。

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

public class NetEventRelayBinding : NetOnewayRelayBinding, 
	IBindingRuntimePreferences

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

  名前説明
パブリック メソッドNetEventRelayBinding()()()()NetEventRelayBinding クラスの新しいインスタンスを初期化します。
パブリック メソッドNetEventRelayBinding(String)指定された構成を使用して NetEventRelayBinding の新しいインスタンスを初期化します。
パブリック メソッドNetEventRelayBinding(EndToEndSecurityMode, RelayEventSubscriberAuthenticationType)指定されたセキュリティ モードとリレー クライアント認証の種類を使用して、NetEventRelayBinding クラスの新しいインスタンスを初期化します。
プロテクト メソッドNetEventRelayBinding(RelayedOnewayTransportBindingElement, BinaryMessageEncodingBindingElement, NetOnewayRelaySecurity)指定されたトランポート、エンコード、およびセキュリティ要素を使用して、NetEventRelayBinding クラスの新しいインスタンスを初期化します。
先頭に戻る

  名前説明
パブリック プロパティCloseTimeout (Binding から継承されています。)
パブリック プロパティEnvelopeVersionこのバインドで処理されたメッセージに使用される SOAP のバージョンを取得します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティListenBacklogキューに入れて保留できる接続要求の最大数を取得または設定します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティMaxBufferPoolSizeバインドによって処理されるメッセージを格納するバッファー プールの最大サイズを取得または設定します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティMaxBufferSizeメモリにメッセージを格納するために使用されるバッファーの最大サイズ (バイト単位) を指定する値を取得または設定します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティMaxConnectionsクライアントでそれ以降に再利用するためにプールされる接続の最大数と、サーバー上でディスパッチ保留中となることが許可される接続の最大数を制御する値を取得または設定します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティMaxReceivedMessageSizeバインドによって処理される受信メッセージの最大サイズを取得または設定します。 (NetOnewayRelayBinding から継承されています。)
プロテクト プロパティMessageSecurityVersionメッセージのセキュリティ バージョンを取得します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティMessageVersion (Binding から継承されています。)
パブリック プロパティName (Binding から継承されています。)
パブリック プロパティNamespace (Binding から継承されています。)
パブリック プロパティOpenTimeout (Binding から継承されています。)
パブリック プロパティReaderQuotasこのバインドで構成されたエンドポイントによって処理できる SOAP メッセージの複雑さの制限を取得または設定します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティReceiveTimeout (Binding から継承されています。)
パブリック プロパティSchemeトランスポートの URI スキームを取得します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティSecurityこのバインドで構成されたサービスで使用されるセキュリティの種類を指定するオブジェクトを取得します。 (NetOnewayRelayBinding から継承されています。)
パブリック プロパティSendTimeout (Binding から継承されています。)
先頭に戻る

  名前説明
プロテクト メソッドApplyConfiguration指定された名前に対応する構成要素から、このバインド要素の現在のインスタンスに設定を適用します。 (NetOnewayRelayBinding..::..ApplyConfiguration(String) をオーバーライドします。)
パブリック メソッドBuildChannelFactory<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドBuildChannelFactory<(Of <<'(TChannel>)>>)(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, ListenUriMode, array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, ListenUriMode, BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCanBuildChannelFactory<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドCanBuildChannelFactory<(Of <<'(TChannel>)>>)(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCanBuildChannelListener<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (Binding から継承されています。)
パブリック メソッドCanBuildChannelListener<(Of <<'(TChannel>)>>)(BindingParameterCollection) (Binding から継承されています。)
パブリック メソッドCreateBindingElementsバインド要素のセットを作成します。 (NetOnewayRelayBinding から継承されています。)
パブリック メソッドEquals (Object から継承されています。)
プロテクト メソッドFinalize (Object から継承されています。)
パブリック メソッドGetHashCode (Object から継承されています。)
パブリック メソッドGetProperty<(Of <<'(T>)>>) (Binding から継承されています。)
パブリック メソッドGetType (Object から継承されています。)
プロテクト メソッドIsBindingElementsMatch指定されたバインド要素が現在のインスタンスに一致するかどうかを決定する値を取得します。
プロテクト メソッドMemberwiseClone (Object から継承されています。)
パブリック メソッドShouldSerializeName (Binding から継承されています。)
パブリック メソッドShouldSerializeNamespace (Binding から継承されています。)
パブリック メソッドToString (Object から継承されています。)
先頭に戻る

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

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

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

注意

By default, NetEventRelayBinding uses Transport Security.

NetEventRelayBinding is derived from NetOnewayRelayBinding. As such, NetEventRelayBinding inherits the properties of NetOnewayRelayBinding and shares much of its underlying infrastructure with this binding.

Unlike any of the other Relay bindings, the NetEventRelayBinding supports multiple listeners on the same URI. To set up an event rendezvous point (also called topic), the clients and listeners merely need to agree on a shared URI within the scope of a solution and send to or listen on it. Messages that get sent by any of the clients get distributed to all listeners.

For the current release, the number of listeners is constrained to fit departmental scenarios with fewer than 20 concurrent listeners. Messages sent through this binding are constrained to at most 60KB in wire size.

There are no assurances about messages arriving in sequence or being delivered at all.

With its default settings, the NetEventRelayBinding supports SOAP 1.2 messaging over TCP using .NET Framing and .NET Binary Serialization.

Services and Clients using the NetEventRelayBinding register their endpoints on the Windows Azure Service Bus using the "sb" URI scheme, regardless of the active connectivity mode.

The channel is SSL-protected if the Security.Mode property is set to one of the EndToEndSecurityMode values of Transport or TransportWithMessageCredential.

The transport channel protection guards all traffic to and from the Relay, but the data is visible to (but not observed by) the Windows Azure Service Bus infrastructure at the socket relay point.

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

<system.serviceModel>

  <bindings>
    <netEventRelayBinding>
      <binding name="default" />
    </netEventRelayBinding>
  </bindings>

  <client>
    <endpoint name="RelayEndpoint"
              contract="Microsoft.ServiceBus.Samples.IMulticastContract"
              binding="netEventRelayBinding"
              bindingConfiguration="default"
              behaviorConfiguration="ReplaceWithEndpointBehaviorName"
              address="ReplaceWithEndpointAddress" />
  </client>
  
  <services>
    <service name="Microsoft.ServiceBus.Samples.MulticastService">
      <!-- Keep address empty to use host base address, or -->
      <!-- replace with endpoint address. -->
      <endpoint name="RelayEndpoint"
                contract="Microsoft.ServiceBus.Samples.IMulticastContract"
                binding="netEventRelayBinding"
                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 NetEventRelayBinding. 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 -->
    <netEventRelayBinding>
        <!-- Turn off client authentication -->
      <binding name="customBinding">
        <security relayClientAuthenticationType="None" />
    </netEventRelayBinding>
  </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.IMulticastContract"
              binding="netEventRelayBinding"
              bindingConfiguration="customBinding"
              address="ReplaceWithEndpointAddress" />
  </client>
  
  <services>
    <service name="Microsoft.ServiceBus.Samples.MulticastService">
      <!-- Keep address empty to use host base address, or -->
      <!-- replace with endpoint address. -->
      <endpoint name="RelayEndpoint"
                contract="Microsoft.ServiceBus.Samples.IMulticastContract"
                binding="netEventRelayBinding"
                bindingConfiguration="customBinding"
                behaviorConfiguration="ReplaceWithEndpointBehaviorName"
                address="" />
    </service>
  </services>

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

</system.serviceModel>

The following example illustrates the use of NetEventRelayBinding programmatically with its default settings. The default settings of NetEventRelayBinding for the end-to-end security mode and client authentication type are EndToEndSecurityMode.Transport and RelayClientAuthenticationType.RelayAccessToken respectively. This example is a modified version of the Multicast SDK sample, which specifies the binding for the service endpoint and the client channel programmatically instead of specifying it in the application configuration file. The Multicast SDK sample is a chat application that uses the NetEventRelayBinding and can be found in the SDK install directory under \Samples\ServiceBus\ExploringFeatures\Bindings\NetEvent.

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 Multicast service host. After starting the service, a channel factory is created for the IMulticastChannel 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.
NetEventRelayBinding binding = new NetEventRelayBinding();        

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

// Create the Multicast service host.
ServiceHost host = new ServiceHost(typeof(MulticastService), serviceAddress);
// Add the service endpoint with the NetEventRelayBinding binding.
host.AddServiceEndpoint(typeof(IMulticastContract), 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 IMulticastChannel channel type.
// This channel factory is used to create client channels to the Multicast service. 
// Each client channel the channel factory creates is configured to use the 
// NetEventRelayBinding that is passed to the constructor of the channel factory.
ChannelFactory<IMulticastChannel> channelFactory = new ChannelFactory<IMulticastChannel>(
    binding, new EndpointAddress(serviceAddress));
channelFactory.Endpoint.Behaviors.Add(relayCredentials);

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

The following example is similar to the previous example except that it uses NetEventRelayBinding 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.
NetEventRelayBinding binding = new NetEventRelayBinding();        
// 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}/MulticastService/", session));

// Create the Multicast service host.
ServiceHost host = new ServiceHost(typeof(MulticastService), serviceAddress);
// Add the service endpoint with the NetEventRelayBinding binding.
host.AddServiceEndpoint(typeof(IMulticastContract), 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 IMulticastChannel channel type.
// This channel factory is used to create client channels to the Multicast service. 
// Each client channel the channel factory creates is configured to use the 
// NetEventRelayBinding that is passed to the constructor of the channel factory.
ChannelFactory<IMulticastChannel> channelFactory = new ChannelFactory<IMulticastChannel>(
    binding, new EndpointAddress(serviceAddress));

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

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

コミュニティの追加

追加
表示:
© 2014 Microsoft