I am trying to create a system that processes a queue of work. The system has the following specifications:
You are on the right path. You could use MSMQ and a multi threaded C# service. I got my start writing C# multi threaded services with this article. The article is getting some age on it but the principles just haven't changed so it's relevant. It's easy to understand and better yet it explores both approaches you've suggest. Feel free to email me if you need additional assistance.