3 ms·
> But why should a web application willingly be tied to a particular web application host? Performance. ASP.NET wasn't originally tied to IIS - the grand versi
by DaiPlusPlus 10y ago
> But why should a web application willingly be tied to a particular web application host?
Performance. ASP.NET wasn't originally tied to IIS - the grand version (back in 2001) was to allow any application to host a website too, that's all in the `System.Web.Hosting` code - along with Cassini for lighter workloads and "IIS Hostable Core" as an analog to today's IIS Express, but that fizzled out in the late-00s only to come back as part of the post-Node trend lately.
This all dates back to 10 years ago: IIS7 introduced a fully CLR-managed request lifecycle which was was aligned with ASP.NET's own lifecycle, so the reasoning goes you might as well let the two become one-and-the-same - there's no point running two separate request pipelines (the webserver's and your runtime framework's) when one will do.
...of course this was back in the day of the "fat" threaded webservers, like Apache and Netscape Server - and remember IIS took it further by adding a kernel-mode component: `HTTP.sys` to get an edge over usermode-only servers. So far I haven't seen any work on reinventing IIS for today's fast and light servers like nginx where all people want to do is serve Node.js applications.
- jug 10y agoSorry, edited my post to try stay more focused and less all over the place so what you quote got lost. :) Interesting about Cassini etc, I never knew! I guess then the question rather becomes whether it's worth the performance benefits since lockins and added Windows licenses can be so off putting, but it's becoming at least less of a worry now that you can transition to ASP .NET Core.
- my123 10y agoThere is the Kestrel server, which is used for ASP.NET Core AFAIK, it's multiplatform also, but it's recommended to use a reverse proxy as it isn't fully audited yet