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.

Binding

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.

Channel

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.

Behavior

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">
<mode>Private</mode>
<customization>
<textMessageEncoding />
<preferlrhttpTransport />
<myChannel assemblyPath="CustomChannel.dll" typeName="CustomChannel.WCFChannel" />
</customization>
<behaviors>
<endpointBehaviors>
<behavior>
<clientVia viaUri="qwqwq" />
<myBehavior assemblyPath="CustomBehavior.dll" typeName="CustomBehavior.WCFbeahvior" />
</behavior>
</endpointBehaviors>
</behaviors>
</protocols>

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