nice, but this line<p>var receiveOperation = queue.StartReceiving<MyMessage>(100, /* poll every 100 ms */<p>shows that you are polling the queue for new messages. Why such inefficient technique?
And BTW it looks like there's no support for transactional operations. This is indeed a rudimentary queue ;)
Interesting. I have to be honest I did not know about the whole reader/writer lock support. I was accustomed to just using the "lock" keyword.