Kestrel简介_Kestrel Web 服务器简介

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中的域名

上一篇:dotnetcore EF 查询筛选


下一篇:lombok:简化 POJO