SALES: 1-800-867-1380

NetTcpRelayBindingElement Class

A configuration element that describes a secure, reliable binding suitable for cross-machine communication through the Windows Azure Service Bus relay.


Namespace:  Microsoft.ServiceBus.Configuration
Assembly:  Microsoft.ServiceBus (in Microsoft.ServiceBus.dll)

public class NetTcpRelayBindingElement : StandardBindingElement

The NetTcpRelayBindingElement type exposes the following members.

Public methodNetTcpRelayBindingElement()Initializes a new instance of the NetTcpRelayBindingElement class.
Public methodNetTcpRelayBindingElement(String)Initializes a new instance of the NetTcpRelayBindingElement class with a specified configuration name.

Protected propertyBindingElementTypeGets the type of this configuration element. (Overrides StandardBindingElement.BindingElementType.) (Overrides StandardBindingElement.BindingElementType.)
Public propertyCloseTimeout (Inherited from StandardBindingElement.)
Public propertyConnectionModeGets or sets the connection mode stored in the App.config file for this configuration.
Public propertyCurrentConfiguration (Inherited from ConfigurationElement.)
Public propertyElementInformation (Inherited from ConfigurationElement.)
Protected propertyElementProperty (Inherited from ConfigurationElement.)
Protected propertyEvaluationContext (Inherited from ConfigurationElement.)
Protected propertyHasContext (Inherited from ConfigurationElement.)
Public propertyIsDynamicGets or sets whether the relay binding is dynamic.
Protected propertyItem[ConfigurationProperty] (Inherited from ConfigurationElement.)
Protected propertyItem[String] (Inherited from ConfigurationElement.)
Public propertyListenBacklogGets or sets a value in the App.config file that specifies the maximum number of channels that can wait to be accepted on the listener.
Public propertyLockAllAttributesExcept (Inherited from ConfigurationElement.)
Public propertyLockAllElementsExcept (Inherited from ConfigurationElement.)
Public propertyLockAttributes (Inherited from ConfigurationElement.)
Public propertyLockElements (Inherited from ConfigurationElement.)
Public propertyLockItem (Inherited from ConfigurationElement.)
Public propertyMaxBufferPoolSizeGets or sets a value from the App.config file that contains the maximum size for a buffer pool that stores TCP messages processed by the binding.
Public propertyMaxBufferSizeGets or sets a value from the App.config file that specifies the maximum size, in bytes, of the buffer used to store messages in memory.
Public propertyMaxConnectionsGets or sets a value from the App.config file that specifies the maximum number of outbound and inbound connections the service creates and accepts respectively.
Public propertyMaxReceivedMessageSizeGets or sets a value from the App.config file that contains the maximum size of a message that can be received on a channel configured with this binding.
Public propertyName (Inherited from StandardBindingElement.)
Public propertyOpenTimeout (Inherited from StandardBindingElement.)
Protected propertyPropertiesGets a ConfigurationPropertyCollection instance that contains a collection of ConfigurationProperty objects that can be attributes or ConfigurationElement objects of this configuration element. (Overrides StandardBindingElement.Properties.) (Overrides StandardBindingElement.Properties.)
Public propertyReaderQuotasGets a value from the App.config file that puts constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding.
Public propertyReceiveTimeout (Inherited from StandardBindingElement.)
Public propertyReliableSessionGets a configuration element that specifies whether reliable sessions are established between channel endpoints.
Public propertySecurityGets a value from the App.config file that determines the type of security to be used with this binding.
Public propertySendTimeout (Inherited from StandardBindingElement.)
Public propertyTransferModeGets or sets a value from the App.config file that specifies whether messages are buffered or streamed or a request or response.

Public methodApplyConfiguration (Inherited from StandardBindingElement.)
Protected methodDeserializeElement (Inherited from ConfigurationElement.)
Public methodEquals (Inherited from ConfigurationElement.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from ConfigurationElement.)
Protected methodGetTransformedAssemblyString (Inherited from ConfigurationElement.)
Protected methodGetTransformedTypeString (Inherited from ConfigurationElement.)
Public methodGetType (Inherited from Object.)
Protected methodInit (Inherited from ConfigurationElement.)
Protected methodInitializeDefault (Inherited from ConfigurationElement.)
Protected methodInitializeFromInitializes the contents of this binding configuration element from the property values of a specified binding. (Overrides StandardBindingElement.InitializeFrom(Binding).)
Protected methodIsModified (Inherited from ConfigurationElement.)
Public methodIsReadOnly (Inherited from ConfigurationElement.)
Protected methodListErrors (Inherited from ConfigurationElement.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodOnApplyConfigurationApplies the settings of this configuration element to the specified binding element. (Overrides StandardBindingElement.OnApplyConfiguration(Binding).)
Protected methodOnDeserializeUnrecognizedAttribute (Inherited from ConfigurationElement.)
Protected methodOnDeserializeUnrecognizedElement (Inherited from ConfigurationElement.)
Protected methodOnRequiredPropertyNotFound (Inherited from ConfigurationElement.)
Protected methodPostDeserialize (Inherited from ConfigurationElement.)
Protected methodPreSerialize (Inherited from ConfigurationElement.)
Protected methodResetSecurity Critical. (Inherited from StandardBindingElement.)
Protected methodResetModified (Inherited from ConfigurationElement.)
Protected methodSerializeElement (Inherited from ConfigurationElement.)
Protected methodSerializeToXmlElement (Inherited from ConfigurationElement.)
Protected methodSetPropertyValue (Inherited from ConfigurationElement.)
Protected methodSetPropertyValueIfNotDefaultValue``1 (Inherited from ServiceModelConfigurationElement.)
Protected methodSetReadOnly (Inherited from ConfigurationElement.)
Public methodToString (Inherited from Object.)
Protected methodUnmerge (Inherited from ConfigurationElement.)

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

The associated NetTcpRelayBinding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

This type is used by Windows Azure Service Bus to read information from an App.config file and create the corresponding binding. You can also access the binding programmatically, through WebHttpRelayBinding. As such, you will not likely to use WebHttpRelayBindingElement directly, but instead use it indirectly whenever you configure a binding in an App.config file. For more information on setting Windows Azure Service Bus configuration values, see Configuring an AppFabric Service Bus Application.

However, you can use WebHttpRelayBindingElement to create your own custom relay bindings, based on WebHttpRelayBinding. Custom bindings are optimized collections of transport, encoding, and security elements, along with other features. For more information, see Creating a Custom .NET Services Binding.

The default configuration for the NetTcpRelayBinding is faster than the configuration provided by the WSHttpRelayBinding, but it is intended only for WCF-to-WCF communication. 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. But reliable messaging is off by default. More generally, the HTTP system-provided bindings such as WSHttpRelayBinding and BasicHttpRelayBinding are configured to turn things on by default, whereas the NetTcpRelayBinding binding turns things off by default so that you have to opt-in to get support, for example, for one of the WS-* specifications. This means that the default configuration for TCP is faster at exchanging messages between endpoints than that configured for the HTTP bindings by default.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft