Recently I've started learning about Contexts in .NET (context-bound, context-agile, message sinks, etc.). Several alarm bells started ringing:
- All context-bound classes are derived from ContextBoundObject, which in turn is derieved from MarshalByRefObject. MarshalByRefObject is a part of the .NET Remoting architecture. The .NET Remoting architecture is considered obsolete.
- Most .NET-related books pay little to no attention to the concept of Contexts.
- MSDN barely provides any information on Contexts: classes are explained, but sattelite-articles (such as "How To"s, "Overview"s, "Tutorials" etc.) are not provided.
- Most articles and forums threads discussing Contexts are a few years old.
- Aside from the Synchronization context, it seems that the .NET framework makes little-to-no use of the Contexts architecture.
Thus, my question is: Is the concept of Contexts in .NET obsolete and should be avoided in new developments? If it is obsolete, what alternatives are recommended?