Kestrel简介_Kestrel Web 服务器简介
一、Kestrel简介
Kestrel 是一个跨平台的适用于 Kestrel。
Kestrel 是包含在 ASP.NET Core 项目模板中的 Web 服务器,默认处于启用状态。
.NET Core 支持的所有平台和版本均支持 Kestrel。
更多详细配置和使用:ASP.NET Core 中的 Kestrel Web 服务器实现 | Microsoft Docs
未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 在“Program.cs”中, 方法调用 UseKestrel:
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.Run();
二、服务器配置终结点
var builder = WebApplication.CreateBuilder(args);
//配置服务器
builder.WebHost.UseUrls("http://localhost:8080");
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
更多详细配置参考:
为 ASP.NET Core Kestrel Web 服务器配置终结点 | Microsoft Docs
ASP.NET Core Web 主机 | Microsoft Docs
默认配置情况下:
Kestrel 在 http://localhost:5000 和 https://localhost:5001 上进行侦听(如果默认证书可用)。
三、Kestrel 与 HTTP.sys
与HTTP.sys 相比,Kestrel 具有以下优势:
更好的性能和内存利用率。跨平台灵活性,它是独立于操作系统进行开发和修补的。编程端口和 TLS 配置扩展性,允许 PPv2 等协议和备用传输。
Http.Sys 作为共享内核模式组件运行,具有 kestrel 不具备的以下功能:
端口共享内核模式 Windows 身份验证。 Kestrel 仅支持用户模式的身份验证。通过队列传输的快速代理直接文件传输响应缓存
更多:
.Net Core上传组件_.Net Core图片上传处理组件 C# 常见Url操作实例(一)、正则表达式匹配URl C#获取Url中的域名


