Экспорт (0) Печать
Развернуть все

Класс BasicHttpRelayBinding

Представляет привязку, которую клиент может использовать для настройки конечных точек, способных взаимодействовать с веб-службами ASMX и другими службами, поддерживающими WS-I Basic Profile 1.1.

Пространство имен:  Microsoft.ServiceBus
Сборка:  Microsoft.ServiceBus (в Microsoft.ServiceBus.dll)

public class BasicHttpRelayBinding : Binding, 
	IBindingRuntimePreferences

Тип BasicHttpRelayBinding обеспечивает доступ к следующим элементам.

  ИмяОписание
Открытый методBasicHttpRelayBinding()()()()Инициализирует новый экземпляр класса BasicHttpRelayBinding.
Открытый методBasicHttpRelayBinding(String)Инициализирует новый экземпляр класса BasicHttpRelayBinding, используя указанную конфигурацию.
Открытый методBasicHttpRelayBinding(EndToEndBasicHttpSecurityMode, RelayClientAuthenticationType)Инициализирует новый экземпляр класса BasicHttpRelayBinding с заданным типом безопасности, который используется привязкой, и типом проверки подлинности, который используется клиентом.
В начало

  ИмяОписание
Открытое свойствоAllowCookiesПолучает или задает значение, определяющее, позволяет ли клиент использовать файлы cookie.
Открытое свойствоCloseTimeout (Производный от Binding.)
Открытое свойствоEnvelopeVersionВозвращает версию SOAP, которая используется для сообщений, обрабатываемых этой привязкой.
Открытое свойствоHostNameComparisonModeПолучает или задает способ сравнения имени узла.
Открытое свойствоIsDynamicПолучает или задает значение, указывающее, является ли элемент привязки динамическим.
Открытое свойствоMaxBufferPoolSizeВозвращает или задает максимальный размер буферного пула, где хранятся TCP-сообщения, обрабатываемые привязкой.
Открытое свойствоMaxBufferSizeВозвращает или задает максимальный размер буфера, который получает сообщения из канала.
Открытое свойствоMaxReceivedMessageSizeВозвращает или задает максимальный размер сообщения, получаемого через канал с этой привязкой.
Открытое свойствоMessageEncodingПолучает или задает тип кодировки сообщений.
Открытое свойствоMessageVersion (Производный от Binding.)
Открытое свойствоName (Производный от Binding.)
Открытое свойствоNamespace (Производный от Binding.)
Открытое свойствоOpenTimeout (Производный от Binding.)
Открытое свойствоProxyAddressВозвращает или задает адрес прокси-сервера.
Открытое свойствоReaderQuotasПолучает или задает квоты модулей чтения.
Открытое свойствоReceiveTimeout (Производный от Binding.)
Открытое свойствоSchemeВозвращает схему транспорта URI для каналов и прослушивателей, у которых настроена эта привязка. (Переопределяет Binding..::..Scheme.)
Открытое свойствоSecurityВозвращает коллекцию параметров безопасности для этой привязки.
Открытое свойствоSendTimeout (Производный от Binding.)
Открытое свойствоTextEncodingВозвращает или задает кодировку символов, которая используется для текста сообщений.
Открытое свойствоTransferModeВозвращает или задает режим передачи.
Открытое свойствоUseDefaultWebProxyПолучает или задает значение, определяющее, использует ли клиент веб-прокси по умолчанию.
В начало

  ИмяОписание
Открытый метод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Извлекает упорядоченную коллекцию элементов привязки из текущей привязки. (Переопределяет Binding..::..CreateBindingElements()()()().)
Открытый методEquals (Производный от Object.)
Защищенный методFinalize (Производный от Object.)
Открытый методGetHashCode (Производный от Object.)
Открытый методGetProperty<(Of <<'(T>)>>) (Производный от Binding.)
Открытый методGetType (Производный от Object.)
Защищенный методMemberwiseClone (Производный от Object.)
Открытый методShouldSerializeName (Производный от Binding.)
Открытый методShouldSerializeNamespace (Производный от Binding.)
Открытый методToString (Производный от Object.)
В начало

  ИмяОписание
Явная реализация интерфейсаЗакрытое свойствоIBindingRuntimePreferences..::..ReceiveSynchronouslyПолучает значение, указывающее, обрабатываются входящие запросы синхронно или асинхронно.
В начало

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

Любые открытые статический (Shared в Visual Basic) элементы этого типа потокобезопасны. Потокобезопасность с элементами экземпляров не гарантируется.

Добавления сообщества

Корпорация Майкрософт проводит интернет-опрос, чтобы выяснить ваше мнение о веб-сайте MSDN. Если вы желаете принять участие в этом интернет-опросе, он будет отображен при закрытии веб-сайта MSDN.

Вы хотите принять участие?
Показ:
© 2015 Microsoft