ChannelAdam WCF Library — Version 2 Documentation
Channel Close Trigger Strategies
Overview
When an exception occurs while calling the service operation, the ServiceConsumer
follows a specific strategy to determine whether the exception and/or current channel state is severe enough to necessitate and trigger the closing/aborting of the service channel.
These “Service Channel Close Trigger Strategies” are an implementation of the interface IServiceChannelCloseTriggerStrategy
. There is one method in this interface:
1bool ShouldCloseChannel(ICommunicationObject channel, Exception exception);
If the method ShouldCloseChannel
returns true
, then the ServiceConsumer
will perform the Close/Abort pattern.
The Out-Of-The-Box Strategy
Out of the box, the DefaultServiceChannelCloseTriggerStrategy
is used. This strategy is very simple, effective and safe. It triggers a close to occur if the exception is anything but a FaultException
, regardless of the state of the service channel. It is highly probable that the channel is no longer usable in the case where there was any other type of exception.
Use Your Own
If you find that this strategy does not suit your need, you can create your own class that implements that interface and specify your class as one of the overloads of the Create
method on the ServiceConsumerFactory
. Alternatively, you can directly set the property ChannelCloseTriggerStrategy
on the ServiceConsumer
instance itself.
comments powered by Disqus