Note that in .NET, proper use of the XxxAsync() functions actually solve the C10k problem for you.
At least with Microsoft's implementation -- I don't know about the mono implementation.
There may be other reasons not to use Microsoft servers, though.
I found an implementation on codeproject which I'm using as a base for my server. So far performance seems ok.