Thanks George - I appreciate the quick reply.. I'll post any further questions on the newsgroup. It would in fact be quite helpful to have a subsection specific to CCR. The application I'm doing a 'proof-of-concept' for is within the context of asycnhronous
web services (asp.net/wse3.0), as well as inwith a number of windows services and it looks very promising!
I'm wondering if you could comment on the recommended use of ThreadCausalities in CCR (in my case non-DSS environment). I can see that Causalities will be transferred from the current thread to the post operation, and that they are conversely transferred from
the ITask back to the executing thread, making the context available to delegates as called from Receivers, etc.
The obvious use is to provide an ExceptionPort that can take care of any unhandled exceptions that might have been thrown during events, etc. I have not really seen too many examples, nor is is clear what the appropriate patterns of use really are..
Possible example: I'm inside an iterator doing a number of yield return operations, etc, to Choices, etc. and may want that iterator to have a way to handle any unhandled exceptions during those operations, so I add a CausalityContext within that iterator.
Then perhaps one of the services that I do a yield return call to (it returning a Choice) decides that it needs a 'nested' causality, so it creates one for it's exception handling (of unhandled exceptions in the dispatcher chain).. Once that service posts back
thru the Choice, it appears that the original Iterator has it's restored CausalityContext in place again.
Any insight on the appropriate usage patterns would really be appreciated. Also the intent of the CoordinationPort?
The CCR appears to be an extremely useful library for a vast number off cases and I really appreciate your time in filling in the gaps!