Microsoft is in the process of designing and building the next generation of C# (i.e. C# 7), and things look promising. It will be interesting to see the effect of Xamarin joining Microsoft, together with the release of .Net Core, Roslyn vNext and the synergy between all of the components.
In the meantime, here are some of the goodies that will be introduced with C# 7.
Everyone today has probably heard of Node.js which is commonly used for handling large amounts of requests. It uses a single-threaded, event-based model, that runs blocking I/O operations asynchronously, keeping the main thread open and ready to handle more incoming requests. Microsoft’s IIS web server however, has a reputation for being slow and bulky.
There’s a good reason for it – by default, ASP.NET handles requests in a blocking manner – each request will take up a thread until it completes. If more requests come in than there are threads in the thread pool, they will be queued. But that’s not the only way to write .NET web code! ASP and .NET have supported async processing for a very long time now, but relatively few people use it in their code.
Since IIS is what we’re using here at Tipalti, we were curious, how does Node.js compare to IIS + .NET using the best async practices?