Exporter (0) Imprimer
Développer tout

Classe NetTcpRelayBinding

Fournit une liaison fiable sécurisée appropriée pour une communication entre ordinateurs.

Espace de noms :  Microsoft.ServiceBus
Assembly :  Microsoft.ServiceBus (en Microsoft.ServiceBus.dll)

public class NetTcpRelayBinding : NetTcpRelayBindingBase, 
	IBindingRuntimePreferences

Le type NetTcpRelayBinding expose les membres suivants.

  NomDescription
Méthode publiqueNetTcpRelayBinding()()()()Initialise une nouvelle instance de la classe NetTcpRelayBinding.
Méthode publiqueNetTcpRelayBinding(String)Initialise une nouvelle instance de la classe NetTcpRelayBinding, avec une configuration XML spécifiée.
Méthode publiqueNetTcpRelayBinding(EndToEndSecurityMode, RelayClientAuthenticationType)Initialise une nouvelle instance de la classe NetTcpRelayBinding, avec les types spécifiés de sécurité et d'authentification de client relais.
Méthode publiqueNetTcpRelayBinding(EndToEndSecurityMode, RelayClientAuthenticationType, Boolean)Initialise une nouvelle instance de la classe NetTcpRelayBinding, avec le type de sécurité utilisé, le type d'authentification de client et une valeur indiquant si des sessions fiables sont explicitement activées.
Méthode protégéeNetTcpRelayBinding(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement, ReliableSessionBindingElement, NetTcpRelaySecurity)Initialise une nouvelle instance de la classe NetTcpRelayBinding, utilisant le transport, l'encodage, les informations de session et les paramètres de sécurité spécifiés.
Haut de la page

  NomDescription
Propriété publiqueCloseTimeout (hérité de Binding.)
Propriété publiqueConnectionModeObtient ou définit le mode de connexion : Hybrid ou Relayed. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueEnvelopeVersionObtient la version de SOAP utilisée pour les messages traités par cette liaison. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueHostNameComparisonModeObtient ou définit le mode de comparaison sur le nom de l’hôte. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueIsDynamicObtient ou définit si la liaison de relais est dynamique. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueListenBacklogObtient ou définit le nombre maximal de demandes de connexion pouvant être mises en file d'attente. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueMaxBufferPoolSizeObtient ou définit la taille maximale autorisée pour un pool de tampons stockant les messages traités par la liaison. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueMaxBufferSizeObtient ou définit une valeur spécifiant la taille maximale du tampon utilisé pour stocker les messages en mémoire. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueMaxConnectionsObtient ou définit une valeur contrôlant le nombre maximal de connexions à regrouper en pool en vue d'une réutilisation sur le client, ainsi que le nombre maximal de connexions dont la répartition peut être mise en attente sur le serveur. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueMaxReceivedMessageSizeObtient ou définit la taille maximale d'un message reçu traité par la liaison. (hérité de NetTcpRelayBindingBase.)
Propriété protégéeMessageSecurityVersionObtient la version de sécurité de message. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueMessageVersion (hérité de Binding.)
Propriété publiqueName (hérité de Binding.)
Propriété publiqueNamespace (hérité de Binding.)
Propriété publiqueOpenTimeout (hérité de Binding.)
Propriété publiqueReaderQuotasObtient ou définit des contraintes concernant la complexité des messages SOAP que peuvent traiter les points de terminaison configurés avec cette liaison. Cette propriété ne peut pas avoir la valeur nullNothingnullptrunitune référence Null (Nothing dans Visual Basic). (hérité de NetTcpRelayBindingBase.)
Propriété publiqueReceiveTimeout (hérité de Binding.)
Propriété publiqueReliableSessionObtient un objet indiquant si une session fiable est établie entre les points de terminaison de canal du bus des services .
Propriété publiqueSchemeObtient le schéma URI pour le transport. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueSecurityObtient un objet spécifiant le type de sécurité utilisé pour les services configurés avec cette liaison. (hérité de NetTcpRelayBindingBase.)
Propriété publiqueSendTimeout (hérité de Binding.)
Propriété publiqueTransferModeObtient ou définit une valeur indiquant si le service configuré avec la liaison utilise le mode de transfert de message diffusé ou en tampon (ou les deux). (hérité de NetTcpRelayBindingBase.)
Haut de la page

  NomDescription
Méthode protégéeApplyConfigurationApplique à l'instance actuelle de cet élément de liaison les paramètres de l'élément de configuration correspondant au nom spécifié. (remplace NetTcpRelayBindingBase..::..ApplyConfiguration(String).)
Méthode publiqueBuildChannelFactory<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueBuildChannelFactory<(Of <<'(TChannel>)>>)(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, ListenUriMode, array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<(Of <<'(TChannel>)>>)(Uri, String, ListenUriMode, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCanBuildChannelFactory<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueCanBuildChannelFactory<(Of <<'(TChannel>)>>)(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCanBuildChannelListener<(Of <<'(TChannel>)>>)(array<Object>[]()[][]) (hérité de Binding.)
Méthode publiqueCanBuildChannelListener<(Of <<'(TChannel>)>>)(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCreateBindingElementsCrée une collection d'éléments de liaison pour la liaison. (remplace NetTcpRelayBindingBase..::..CreateBindingElements()()()().)
Méthode protégéeCreateMessageSecurityCrée le jeton de sécurité de message pour l'instance actuelle. (remplace NetTcpRelayBindingBase..::..CreateMessageSecurity()()()().)
Méthode publiqueEquals (hérité de Object.)
Méthode protégéeFinalize (hérité de Object.)
Méthode publiqueGetHashCode (hérité de Object.)
Méthode publiqueGetProperty<(Of <<'(T>)>>) (hérité de Binding.)
Méthode publiqueGetType (hérité de Object.)
Méthode protégéeIsBindingElementsMatch(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement)Détermine si les éléments de liaison spécifiés correspondent aux valeurs par défaut des éléments de liaison dans l'instance actuelle. (hérité de NetTcpRelayBindingBase.)
Méthode protégéeIsBindingElementsMatch(TcpRelayTransportBindingElement, BinaryMessageEncodingBindingElement, ReliableSessionBindingElement)Retourne une valeur déterminant si des éléments de liaison correspondent aux objets spécifiés.
Méthode protégéeMemberwiseClone (hérité de Object.)
Méthode publiqueShouldSerializeName (hérité de Binding.)
Méthode publiqueShouldSerializeNamespace (hérité de Binding.)
Méthode publiqueToString (hérité de Object.)
Haut de la page

  NomDescription
Champ protégéencodingÉlément d'encodage pour l'instance actuelle. Avec les paramètres de sécurité et de transport, le paramètre d'encodage constitue l'une des trois propriétés fondamentales d'une liaison. (hérité de NetTcpRelayBindingBase.)
Champ protégétransportÉlément de transport pour l'instance actuelle. Avec les paramètres d'encodage et de sécurité, le paramètre de transport constitue l'une des trois propriétés fondamentales d'une liaison. (hérité de NetTcpRelayBindingBase.)
Haut de la page

  NomDescription
Implémentation d'interface explicitePropriété privéeIBindingRuntimePreferences..::..ReceiveSynchronouslyObtient une valeur indiquant si les requêtes entrantes sont gérées de façon synchrone ou asynchrone. (hérité de NetTcpRelayBindingBase.)
Haut de la page

Service Bus supports only Full Trust code access security.

RemarqueRemarque

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 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 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 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 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 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 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();

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Tous les membres de l'instance ne sont pas garantis comme étant thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft