gpt4 book ai didi

asp.net - 什么是 Kestrel(与 IIS/Express)

转载 作者:行者123 更新时间:2023-12-03 04:26:52 24 4
gpt4 key购买 nike

什么是 Kestrel Web 服务器,它与 IIS/IIS Express 有什么关系?

我来自在 IIS Express 上开发应用程序并将它们托管在 IIS Web 服务器上。使用 ASP.NET Core 我依赖于 Microsoft.AspNetCore.Server.Kestrel我的初创公司有 .UseServer("Microsoft.AspNetCore.Server.Kestrel") .但是当我运行我的网站时,我仍然在系统托盘中看到 IIS Express 图标。有人问我是使用 IIS Express 还是 Kestrel,我不知道该说什么!

我在 PC 上开发并在 Azure 中托管时没有任何跨平台要求,所以我什至很困惑 need Kestrel,但似乎没有替代品 - 即使是最简单的样本也使用 Kestrel。

最佳答案

What is Kestrel



这是一个完整的网络服务器。您可以仅使用 Kestrel 运行您的 ASP.NET Core 应用程序。

But when I run my website, I still get the IIS Express icon in the system tray



在您的 ASP.NET 应用程序中,可能在 wwwroot目录,您将看到包含以下内容的 web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
</system.webServer>
</configuration>

这是 HttpPlatformHandler。本质上,这样做是将所有请求转发给 Kestrel。 IIS Express(以及 IIS)将不再运行 ASP.NET 本身。相反,它们将充当代理,简单地从 Kestrel 来回传递请求和响应。使用 IIS 仍然有优势,特别是它为您提供安全配置、内核级缓存等。

关于asp.net - 什么是 Kestrel(与 IIS/Express),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com