首页 > 解决方案 > 在 Visual Studio 中运行 ASP.NET Core Web 应用程序时推荐的服务器

问题描述

很难找到适合此特定功能的文档。

在 Visual Studio 2017 的绿色箭头(启动配置文件下拉列表)下,我有一个以我的项目命名的菜单项。这是 Kestrel 服务器选项吗?它是默认的吗?此选项 (Kestrel) 是否推荐用于 ASP.NET Core 2.1 Web 应用程序?IIS Express 是否被认为已过时?

我觉得有这么多的选择真的有点烦人。特别是当 IDE 中没有快速解释并且您不知道哪个是哪个时。这就像在 Spotify 中有三个播放按钮,每个按钮都在做同样的事情,但上面有不同的名称。那么我该点击哪一个?

标签: visual-studioasp.net-core

解决方案


我建议阅读这些文档:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-2.1&tabs=aspnetcore2x

ASP.NET Core 提供了两种服务器实现:

Kestrel 是 ASP.NET Core 的默认跨平台 HTTP 服务器。

HTTP.sys 是基于 HTTP.sys 内核驱动程序和 HTTP Server API 的仅限 Windows 的 HTTP 服务器。(HTTP.sys 在 ASP.NET Core 1.x 中称为 WebListener。)

在此处输入图像描述

在此处输入图像描述

简单来说,ASP.NET Core 运行自己的 HTTP 服务器。你可以使用 IIS、IIS Express、Nginx、Apache 作为反向代理。

在 Visual Studio 中运行 ASP.NET Core 项目时,可以以两种模式运行:

  1. 无需调试 - 它会启动 Krestrel 和 IIS Express。
  2. 通过调试 - 它只会启动 Krestrel

https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/start-mvc?view=aspnetcore-2.1&tabs=aspnetcore2x


推荐阅读