Quantcast
Channel: ASP.NET Core
Viewing all articles
Browse latest Browse all 9386

IIS integration

$
0
0

In the September 8th ASP.NET 5 Community Standup it was mentioned that Kestrel will be the one and only server that Microsoft is going to ship and DNX is the one and only host that Microsoft will ship.  There will still be support for IIS; however, IIS will mostly be reverse proxying requests by way of the Http Platform Handler into a DNX process that the Http Platform Handler creates and manages.  Is it correct to say that the DNX process hosts the CLR and will start up an app domain, load the Kestrel web server and web app into that, and then the web.config for the web app being hosted will define a port that Kestrel will listen on when started so that the Http Platform Handler can forward requests from IIS to Kestrel's socket?  If this is incorrect please explain in more detail how this will all work?

For my second question, as I understand it, IIS uses http.sys to receive requests ultimately via WAS but there are performance limitations inherent in http.sys because of the number of system calls that have to be made and the inflexibility in making changes to that kernel mode driver to improve it because it is a part of the operating system.  Thus it was found via the benchmark testing that Web Listener (which is going away and utilizes HTTP.sys via a HttpListener) was actually slower than Kestrel running alone as the web server because you have more control over the entire stack (including reading from the socket) and can introduce pipelining of requests to drastically speed up performance.  So my second question is, if ASP.NET 5 will continue to support IIS and we choose to use IIS, will the throughput of requests be bound by the same performance constraints as IIS because requests will initially be going through http.sys, or is there some other way that IIS will be listening for requests?


Viewing all articles
Browse latest Browse all 9386

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>