IIS Express 与 dotnet 运行

Ale*_*huk 7 c# iis visual-studio .net-core

其实我知道IIS Express是轻量级的开发服务器。另一方面,“dotnet run”将应用程序作为控制台应用程序运行并将其绑定到随机端口。

但实际的区别是什么?我可以逐步启动大型企业应用程序IIS Express"dotnet run"并且两种情况都可以完美运行。

到目前为止,我看到的所有不同之处在于IIS Express将图标添加到任务栏并dotnet run允许查看控制台输出。但这些都是细微的差别。现在 IIS Express 如此普遍的原因应该是一些全球性的。

可以在此处找到一些结构化:ASP.NET Core 启动设置:IIS Express、IIS、Project、Executable。但它仍然不能解释差异。

pet*_*tah 5

dotnet run将使用嵌入式 Kestrel 服务器。IIS Express 将使用 IIS Express 作为反向代理,在后台调用 Kestrel。在任何一种情况下,服务器都在托管您的应用程序。

您可以通过调整运行配置来切换本地服务器选择。IIS Express 将使用...IIS Express。但是,如果您改为选择项目(在屏幕截图的情况下,它的标题是weatherapi),它将改用 Kestrel。你会看到一个命令提示符弹出,显示一些基本的配置数据(假设你没有更改默认的日志输出)。第一次运行时,您可能必须接受/安装 localhost TLS 证书,以免遇到 TLS 错误。

在此处输入图片说明

确认的一种方式,其过程中,会使用,是调用get-processPowerShell中,与沿任iisexpress{nameOfProject}

在此处输入图片说明

来自文档https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-3.1&tabs=windows 的更多信息

  • 有人可以向我解释一下,为什么你会使用其中一种而不是另一种? (3认同)