WCF Extensibility

You can implement your own binding, behavior, or channel when using customBinding by defining the assemblyPath and typeName by modifying the configuration file <script directory>/WSDL/@config/[your config].stss.

The assemblyPath attribute should have a value of either the full path of the dll or its relative path to script directory.

The typeName attribute should have the full type name: ns.typeName.


Name the scenario attribute in the protocols element and provide the assemblyPath and typeName attributes.

The class you use for binding is inherited from System.ServiceModel.Channels.Binding.


Add a new element under the customization node. You can specify any name for the element, however the element must contain the two attributes:assemblyPath andtypeName.

The class to use for binding is inherited from System.ServiceModel.Channel.BindingElement.

Note: This will work with customBinding scenarios only.


Add a new element under the behaviors element (which is under endpointBehavior) and add the two attributes assemblyPath and typeName.

To bind the new element, implement the System.ServiceModel.Description.IEndpointBehavior class.

Note: If you inherit from System.ServiceModel.Description.ClientCredentials, the client credentials from this class will be used.

Examples of Channel and Behavior

<protocols scenario="customBinding" uiType="customBinding" xmlns="http://hp/ServiceTest/config">
<textMessageEncoding />
<preferlrhttpTransport />
<myChannel assemblyPath="CustomChannel.dll" typeName="CustomChannel.WCFChannel" />
<clientVia viaUri="qwqwq" />
<myBehavior assemblyPath="CustomBehavior.dll" typeName="CustomBehavior.WCFbeahvior" />

An example of overriding the whole binding (the configuration may contain just one line):

<protocols scenario="userBinding" assemblyPath="WCFBinding.dll" typeName=" WCFBinding.Binding"/>     

Back to top