TcpServiceBusTransportBindingElement Class

[This is prerelease documentation and is subject to change in future releases. Blank topics are included as placeholders.]

TcpServiceBusTransportBindingElement is the transport binding element for composition into a Windows Communication Foundation (WCF) custom binding that enables communication to the AppFabric Service Bus. This transport binding element is largely equivalent to, and can be composed with other binding elements mostly like the standard TcpTransportBindingElement available in the .NET Framework.

Namespace: Microsoft.ServiceBus.Channels
Assembly: Microsoft.ServiceBus.Channels (in microsoft.servicebus.channels.dll)

Usage

    Dim instance As TcpServiceBusTransportBindingElement

Syntax

'Declaration
Public Class TcpServiceBusTransportBindingElement
    Inherits TransportBindingElement
    Implements ISecurityCapabilities
public class TcpServiceBusTransportBindingElement : TransportBindingElement, ISecurityCapabilities
public ref class TcpServiceBusTransportBindingElement : public TransportBindingElement, ISecurityCapabilities
public class TcpServiceBusTransportBindingElement extends TransportBindingElement implements ISecurityCapabilities
public class TcpServiceBusTransportBindingElement extends TransportBindingElement implements ISecurityCapabilities

Remarks

Functionally, this transport binding element is mostly equivalent to the standard WCF TcpTransportBindingElement. Note the following:

  • Communication occurs over a bidirectional session that uses the .NET Message Framing protocol ([[MC-NMF]]), available under the Open Specification Promise, for frame level addressing and message delineation.

  • Messages are encoded for wire transfer using the efficient .NET Binary Format ([[MC-NBFX]], [[MC-NBFS]], [[MC-NBFSE]]), which is also available under the Microsoft Open Specification Promise.

  • All fundamental WCF channel shapes (one-way, request-reply, duplex) are supported. All channels persist with the session, as is the case with TcpTransportBindingElement.

The transport scheme to be used with this transport binding element is “sb”. It is not allowed to specify a port number. A fully-qualified URI for a connection point on the AppFabric Service Bus is formed using this scheme, and the tenant service namespace name, and the runtime path of the connection point as sb://<tenant-name>.servicebus.appfabriclabs.com/{path}.

There are two key prerequisites for opening a client channel or listener channel on the AppFabric Service Bus using this transport binding element:

  1. It is required to explicitly set up a ConnectionPoint in the AppFabric Service Bus. Please refer to the [[Creating Connection Points]] section for details on how to set up Connection Points. Connection points are durable in the AppFabric Service Bus namespace and therefore it is a one-time setup operation.

  2. The BindingContext instance used with the BuildChannelListener and BuildChannelFactory methods of this class must contain a binding parameter derived from the abstract ServiceBusCredential class that is able to produce a valid Windows Azure AppFabric Access Control token for accessing the resource. The available implementations in the AppFabric CTP October release are SamlCredential, SharedSecretCredential, and SimpleWebTokenCredential. When the transport binding element is used with a custom binding and a regular Service Model ServiceHost-hosted Validate or with a regular typed ChannelFactory<T>, this occurs automatically if the credential instance is added to the endpoint behavior collection of the channel or endpoint.

  3. The only security mode that you can use with TcpServiceBusTransportBindingElement is Transport. If you build a custom binding using binding elements that are used for message security and others, the listener and sender will not work as expected.

Inheritance Hierarchy

System.Object
   System.ServiceModel.Channels.BindingElement
     System.ServiceModel.Channels.TransportBindingElement
      Microsoft.ServiceBus.Channels.TcpServiceBusTransportBindingElement

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows XP Home Edition, Windows XP Professional, Windows Server 2003, Windows Server 2008, and Windows 2000

Target Platforms

See Also

Reference

TcpServiceBusTransportBindingElement Members
Microsoft.ServiceBus.Channels Namespace