Tag Archives: EndpointDispatcher

WCF- Dispatcher graphics

trying to understand WCF extension model, I have reconstructed ServiceModel.Dispatcher namespace with most important information related to ChannelDispatcher, EndpointDispatcher and dispatchRuntime plus operation Runtime. This is first version, the diagram is layout to reflect message passing from up to bottom.

Full picture [400KB]
message dispatcher thumbnail

Follow-up of this model for ServiceDescription can be found here

Following sequence is how it flows in WCF model when executing an operation (not exhaustive):

1. reached EndpointAddress
2. performing EndpointAddressMessageFilter : Match operation returned: True
3. performing TrackContractFilter : Match operation returned: True
4. called OperationSelection: Method to call: MyMethod
5 called AfterReceiveRequestEvent for binding http://tempuri.org/:BasicHttpBindingEndpoints: 1
6. Constructor of Service MyService called : class instantiated
7. called AllocateInputs
8. called ParameterInspectionBeforeEvent
9. called InvokeOperationEvent
10. Method/operation MyOperation is executing…
11. called ParameterInspectionAfterEvent
12. called BeforeSendReplyEvent