Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

Classe BasicHttpRelayBinding

Représente une liaison qu'un client peut utiliser pour configurer des points de terminaison capables de communiquer avec des services Web basés sur ASMX et d'autres services conformes à WS-I Basic Profile 1.1.

System.Object
  System.ServiceModel.Channels.Binding
    Microsoft.ServiceBus.BasicHttpRelayBinding

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

public class BasicHttpRelayBinding : Binding, 
	IBindingRuntimePreferences

Le type BasicHttpRelayBinding expose les membres suivants.

  NomDescription
Méthode publiqueBasicHttpRelayBinding()Initialise une nouvelle instance de la classe BasicHttpRelayBinding.
Méthode publiqueBasicHttpRelayBinding(String)Initialise une nouvelle instance de la classe BasicHttpRelayBinding, utilisant la configuration spécifiée.
Méthode publiqueBasicHttpRelayBinding(EndToEndBasicHttpSecurityMode, RelayClientAuthenticationType)Initialise une nouvelle instance de la classe BasicHttpRelayBinding avec un type de sécurité spécifié utilisé par la liaison, et le type d'authentification utilisé par le client.
Haut de la page

  NomDescription
Propriété publiqueAllowCookiesObtient ou définit une valeur déterminant si le client autorise les cookies.
Propriété publiqueCloseTimeout (hérité de Binding.)
Propriété publiqueEnvelopeVersionObtient la version de SOAP utilisée pour les messages traités par cette liaison.
Propriété publiqueHostNameComparisonModeObtient ou définit le nom des informations de l’hôte.
Propriété publiqueIsDynamicObtient ou définit si l'élément de liaison est dynamique.
Propriété publiqueMaxBufferPoolSizeObtient ou définit la taille maximale autorisée pour un pool de tampons stockant les messages TCP traités par la liaison.
Propriété publiqueMaxBufferSizeObtient ou définit la taille maximale d'un tampon recevant des messages du canal.
Propriété publiqueMaxReceivedMessageSizeObtient ou définit la taille maximale d'un message pouvant être reçu sur un canal configuré avec cette liaison.
Propriété publiqueMessageEncodingObtient ou définit le type d'encodage de message.
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é publiqueProxyAddressObtient ou définit l'adresse de proxy.
Propriété publiqueReaderQuotasObtient ou définit les quotas du lecteur.
Propriété publiqueReceiveTimeout (hérité de Binding.)
Propriété publiqueSchemeObtient le schéma de transport URI pour les canaux et les écouteurs configurés avec cette liaison. (remplace Binding.Scheme.)
Propriété publiqueSecurityObtient la collection de liaisons de sécurité utilisées avec cette liaison.
Propriété publiqueSendTimeout (hérité de Binding.)
Propriété publiqueTextEncodingObtient ou définit l'encodage de caractère utilisé pour le texte du message.
Propriété publiqueTransferModeObtient ou définit le mode de transfert.
Propriété publiqueUseDefaultWebProxyObtient ou définit une valeur déterminant si le client utilise le proxy Web par défaut.
Haut de la page

  NomDescription
Méthode publiqueBuildChannelFactory<TChannel>(Object[]) (hérité de Binding.)
Méthode publiqueBuildChannelFactory<TChannel>(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Object[]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, Object[]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, String, Object[]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) (hérité de Binding.)
Méthode publiqueBuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCanBuildChannelFactory<TChannel>(Object[]) (hérité de Binding.)
Méthode publiqueCanBuildChannelFactory<TChannel>(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCanBuildChannelListener<TChannel>(Object[]) (hérité de Binding.)
Méthode publiqueCanBuildChannelListener<TChannel>(BindingParameterCollection) (hérité de Binding.)
Méthode publiqueCreateBindingElementsRetourne une collection ordonnée d'éléments de liaison contenus dans la liaison actuelle. (remplace Binding.CreateBindingElements().)
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<T> (hérité de Binding.)
Méthode publiqueGetType (hérité de Object.)
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
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.
Haut de la page

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

The BasicHttpRelayBinding is closely aligned with the standard BasicHttpBinding in the .NET Framework. The key difference between the standard BasicHttpBinding and the BasicHttpRelayBinding is that the latter creates publicly reachable and, if desired, publicly discoverable HTTP listener endpoint listening on the cloud-based Windows Azure Service Bus, while the standard binding listens through the standard HTTP.sys listener on the local Windows computer.

With its default settings, the BasicHttpRelayBinding supports SOAP 1.1 messaging conforming to the WS-I Basic profile 1.1.

Services using the BasicHttpRelayBinding register their endpoints on the Windows Azure Service Bus using the "http" or "https" URI scheme. Client channels created using the BasicHttpRelayBinding use HTTP/HTTPS on the default TCP ports 80 and 443 as the transport mechanism to talk to the respective endpoint in the Windows Azure Service Bus cloud. The data channel is SSL-protected if the endpoint URI scheme is "https" and the Security.Mode property is set to one of the EndToEndBasicHttpSecurityMode values: Transport or TransportWithMessageCredential.

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

<system.serviceModel>

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

  <client>
    <!-- Application Endpoint -->
    <endpoint name="RelayEndpoint"
              contract="Microsoft.ServiceBus.Samples.IMyContract"
              binding="basicHttpRelayBinding"
              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="basicHttpRelayBinding" 
                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 BasicHttpRelayBinding. It turns off the security mode and client authentication, which means that SOAP messages are sent unsecured and that the client is not required to present a security token to the Windows Azure Service Bus.

<system.serviceModel>

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

  <client>
    <!-- Application Endpoint -->
    <!-- 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="basicHttpRelayBinding"
              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="basicHttpRelayBinding" 
                bindingConfiguration="customBinding"
                behaviorConfiguration="ReplaceWithEndpointBehaviorName"
                address="" />
    </service>
  </services>

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

</system.serviceModel>

The following example illustrates the use of BasicHttpRelayBinding programmatically with its default settings. The default settings of BasicHttpRelayBinding for the end-to-end security mode and client authentication type are EndToEndSecurityMode.Transport and RelayClientAuthenticationType.RelayAccessToken respectively.

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 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.
BasicHttpRelayBinding binding = new BasicHttpRelayBinding();

// Get the service address.
// Use the https scheme because by default the binding uses SSL for transport security.
Uri address = ServiceBusEnvironment.CreateServiceUri("https", serviceNamespace, "MyService");

// Create the service host.
ServiceHost host = new ServiceHost(typeof(MyService), address);
// Add the service endpoint with the BasicHttpRelayBinding.
host.AddServiceEndpoint(typeof(IMyContract), binding, address);
// 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 
// BasicHttpRelayBinding that is passed to the constructor of the channel. factory.ChannelFactory<IMyChannel> channelFactory = new ChannelFactory<IMyChannel>(
    binding, new EndpointAddress(address));
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 BasicHttpRelayBinding with custom settings. It turns off the SSL security mode and client authentication, which means that SOAP messages are sent unsecured and that the client is not required to present a security token to the Windows Azure Service Bus. Because SSL is turned off, the http scheme is used in the service address. Also, 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 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.
BasicHttpRelayBinding binding = new BasicHttpRelayBinding();
// SOAP messages are not SSL-protected.
binding.Security.Mode = EndToEndSecurityMode.None;
// The client is not required to present a security token to the
// AppFabric Service Bus.
binding.Security.RelayClientAuthenticationType = RelayClientAuthenticationType.None;

// Get the service address.
// Use the http scheme because SSL security is turned off in our binding.
Uri address = ServiceBusEnvironment.CreateServiceUri("http", serviceNamespace, "MyService");

// Create the service host.
ServiceHost host = new ServiceHost(typeof(MyService), address);
// Add the service endpoint with the BasicHttpRelayBinding.
host.AddServiceEndpoint(typeof(IMyContract), binding, address);
// 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.
// We do not add the endpoint behavior with the credentials to the channel 
// factory because client authentication is turned off in the binding used.
// This channel factory is used to create client channels to the service. 
// Each client channel the channel factory creates is configured to use the 
// BasicHttpRelayBinding that is passed to the constructor of the channel. factory.ChannelFactory<IMyChannel> channelFactory = new ChannelFactory<IMyChannel>(
    binding, new EndpointAddress(address));

// 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:
© 2015 Microsoft