CreateDefaultBuilder() 执行默认搭建
设置Web服务器 、 加载主机和应用程序配置表信息、配置日志记录
1.进程内托管
C#
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
- 在InProcess托管的情况下CreateDefaultBuilder()方法调用UseIIS()方法并在IIS工作进程内托管应用程序
- 从性能的角度来看,InProcess托管比OutOfProcess托管提供了更高的请求吞吐量
2.进程外托管
- 有两个Web服务器,内部服务器和外部服务器
- 内部服务器是Kestrel,ASP.NET内置的服务器
- 外部服务器可以是IIS,Nginx和Apache
Kestrel Web Server
- Kestrel是ASP.NET Core的跨平台Web服务器
- Kestrel本身可以用作边缘服务器
- Kestrel中用于托管应用程序的进程是DotNet.exe
总结:
进程内 | 进程外 |
进程名称:W3WP.exe或者IISexpress.exe | 进程名称:dotnet.exe |
只有一个服务器 | 两个服务器 |
性能更好 | 在内部和外部Web服务器之间代理请求的损耗 |