Patterns for Multithreaded Network Server in C#
Oddly enough you may find something on a Computer Science Assignment, CSC 512 Programming Assignment 4: Multi-Threaded Server With Patterns. Altough it's C++ voodoo but the theory is quite understandable for someone who can do C#.
- Acceptor/ Connector
- Monitor Object
- Thread Safe Interface
- Wrapper Facade
- Scoped Locking
- Strategized Locking
- Reactor
- Half Sync/Half-Async
- Leaders/Followers
Altough you can get the whole list of nice readings on the main page.
Take a look at this previous question:
How do you minimize the number of threads used in a tcp server application?
It's not strictly C# specific, but it has some good advice.