Setting up HTTP.sys
There is another hosting option, a different web server implementation. HTTP.sys
is a pretty mature library, deep within Windows, that can be used to host your ASP.NET Core application:
.UseHttpSys(options => { // ... })
HTTP.sys
is different from Kestrel. It cannot be used in IIS because it is not compatible with the ASP.NET Core module for IIS.
The main reason for using HTTP.sys
instead of Kestrel is Windows authentication, which cannot be used in Kestrel. You can also use HTTP.sys
if you need to expose your application to the internet without IIS.
Note
IIS has been running on top of HTTP.sys
for years. This means that UseHttpSys()
and IIS are using the same web server implementation. To learn more about HTTP.sys
, please read the documentation, links to which can be found in the Further reading section.
Next, let's look at using IIS for hosting.