Looking at the codes, they have the same comments, suggesting that they do the same thing:
/// <summary> /// Configures the port and base path the server should listen on when /// running behind AspNetCoreModule. The app will also be configured /// to capture startup errors. /// </summary>
UseIIS
is in Microsoft.AspNetCore.Server.IIS
package, while UseIISIntegration
is in Microsoft.AspNetCore.Server.IISIntegration
.
What is the difference between the two? When do you need to use one versus the other? (or maybe both?)
UPDATE: There is a similar question on github, But there is no helpful answer there: https://github.com/aspnet/AspNetCore/issues/6197
UseIIS is in Microsoft. AspNetCore. Server. IIS package, while UseIISIntegration is in Microsoft.
UseIISIntegration() − This tells ASP.NET that IIS will be working as a reverse proxy in front of Kestrel. This then specifies some settings around which port Kestrel should listen on, forwarding headers, and other details.
Kestrel is a cross-platform web server for ASP.NET Core. Kestrel is the web server that's included and enabled by default in ASP.NET Core project templates. Kestrel supports the following scenarios: HTTPS. HTTP/2 (except on macOS†)
To determine the version of the installed ASP.NET Core Module: On the hosting system, navigate to %PROGRAMFILES%\IIS\Asp.Net Core Module\V2 .
Until ASP.NET Core 2.2, ASP.NET Core was hosted out-of-process in IIS, meaning we had two processes for an application:
w3wp.exe
, the IIS process; anddotnet.exe
, the ASP.NET Core process, where the Kestrel web server was started.This means that IIS and Kestrel were communicating between those two processes.
For this scenario, you would use UseIISIntegration
.
ASP.NET Core 2.2 introduced in-process hosting, where your ASP.NET Core app is ran inside of the IIS w3wp.exe
process, removing the need for the Kestrel web server, in which case you want to use UseIIS
.
Notes:
CreateDefaultBuilder
method will call the appropriate method by itself; see https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#enable-the-iisintegration-components If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With