Kestrel在dotnet core web中的作用

Kestrel 是什么?

Kestrel 是一个开源跨平台的轻量级Web服务,Asp.net core应用默认使用Kestrel作为处理网络请求的服务。Kestrel是用Nodejs开发的基于异步I/O的库
Kestrel有以下特性:

  • 不支持反向代理服务(如:IIS,Apache,Nginx)的大部分特性
  • Kestrel是跨平台的,可以运行在Windows,Linux和Mac平台上
  • 支持SSL
  • 支持与方向代理建立套接字连接,提高性能

在有了IIS/Nginx/Apache后为什么还要使用Kestrel

没有Kestrel的话,Asp.net core应用为了满足在IIS/Nginx/Apache中部署,需要在应用中为不同的Web容器配置不同的启动设置。而Kestrel可以让你的应用程序按照同样的标准(main(),Startup.ConfigureServices,Startup.Configure)配置启动,也就是跨平台特性

如何使用Kestrel


public class Program
{
public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseKestrel()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseStartup<Startup>()
        .UseApplicationInsights()
        .Build();

    host.Run();
}
}

Hosted application

注意

如果你不设置UseUrls("http://localhost:5000", "http://*:5000", "http://192.168.1.2:5000"),Kestrel只会监听本机的请求,换句话就是,你不能在外部网络访问Host应用。如果你设置"http://*:5000",则Host应用允许外部网络访问

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值