千家信息网

ASP.NET Core服务器是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"ASP.NET Core服务器是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ASP.NET Core服务器是什么"吧!ASP
千家信息网最后更新 2026年11月01日ASP.NET Core服务器是什么

这篇文章主要讲解了"ASP.NET Core服务器是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ASP.NET Core服务器是什么"吧!

ASP.NET Core应用通过一个进程内的HTTP服务器实例实现运行,这个服务器实例侦听HTTP请求并将请求作为组成HttpContext的一组请求功能集暴露给我们的应用程序。

ASP.NET Core搭载两个服务器实现:

  • Kestrel是一个基于libuv的跨平台HTTP服务器,libuv是一个跨平台的异步I/O库

  • WebListener是一个基于HTTP.SYS内核驱动的"Windows专用"HTTP服务器

Kestrel

Kestrel是包含在ASP.NET Core新项目模板中默认的web服务器。如果你的应用只接收来自内部网络的请求,你可以只使用Kestrel本身。

如果你将你的应用部署在公共网络上,我们建议你使用IIS,Nginx或者Apache作为反向代理服务器。一个反向代理服务器接收来自网络的HTTP请求并且在经过一些初步处理后将请求传递到Kestrel服务器。过程如下图所示。

对edge deployments(从公共网络上接触到流量的部署方式)使用反向代理最重要的一个原因就是安全性。因为Kestrel相对较新,对抵御安全攻击至今还没有一个完整的功能补充。安全性处理包括但不限于适当的超时,大小的限制,以及并发连接限制等问题。有关何时使用Kestrel与反向代理的更多信息,请参见Kestrel。

IIS with Kestrel

当你使用IIS或者IIS Express作为对ASP.NET Core的反向代理时,ASP.NET Core应用将运行在由该IIS工作进程分离出的一个进程中。在该IIS进程中,存在着一个特殊的IIS模块,它被用来协调反向代理的关系。它就是ASP.NET Core模块。ASP.NET Core模块的主要功能包括启动ASP.NET Core应用,当应用崩溃时处理重启,向应用传送HTTP流量。更多的信息,请参考ASP.NET Core Module。

Nginx with Kestrel

有关如何在Linux使用Nginx作为对Kestrel的反向代理服务器的更多信息,请参考Publish to a Linux Production Environment。

Apache with Kestrel

有关如何在Linux使用Apache作为对Kestrel的反向代理服务器的更多信息,请参考Using Apache Web Server as a reverse proxy。

Jexus with Kestrel

有关如何在Linux使用Jexus作为对Kestrel的转发服务器的更多信息,请参考 Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

WebListener

如果你在Windows上运行你的ASP.NET Core应用,你可以会遇到以下场景--你既想要在公共网络上部署你的应用,又不能使用IIS,这时,WebListener会是一个可供替代的选择。

当你只想要在内网中部署你的应用时,WebListener可以被用来代替Kestrel,特别是当你需要Weblistener服务器支持功能中的某项而Kestrel恰好不支持的时候。

对于内部网络场景,为了能达到最好的性能表现,我们通常推荐Kestrel服务器,但是在另一些场景中,你可以想要使用某项仅WebListener支持的功能。关于WebListener功能的更多信息,请参考WebListener。

ASP.NET Core 服务器基础组件说明

IApplicationBuilder在Startup类中的Configure方法暴露了IFeatureCollection类的ServerFeatures属性。Kestrel和WebListener服务器都只提供了一个单一的功能,IServerAddressesFeature,但是不同的服务器实现可能会显示额外的功能。

IServerAddressesFeature可以用来找出哪些服务器实例端口在运行时被绑定。

ServerFeatures 的注释为"Gets the set of HTTP features the application's server providers"。

自定义服务器

你可以创建自定义服务器实现以用来替代Kestrel或者WebListener。Open Web Interface for .NET(OWIN) guide 说明了怎么去实现一个Nowin-based IServer。你可以自由地实现你的应用所需的功能接口,但至少必须支持IHttpRequestFeature和IHttpRequestFeature接口。

感谢各位的阅读,以上就是"ASP.NET Core服务器是什么"的内容了,经过本文的学习后,相信大家对ASP.NET Core服务器是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

服务器 服务 应用 功能 代理 更多 信息 网络 参考 支持 进程 有关 运行 安全 场景 实例 就是 模块 处理 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 耶加雪菲 小米移动互联网科技园 河南云网互联网络科技有限公司 互联网科技公司起名 苏州找大状互联网科技有限公司 鸠鸠互联网科技 互联网科技战争 互联网 科技创业 国外互联网科技网站 湖南一路畅行互联网科技 乌鲁木齐新华智原互联网科技学校 长沙茂晟互联网科技有限公司 无锡工业互联网科技有限公司 美国互联网科技公司 新氧科技和美国互联网有关系吗 保山互联网科技靠谱吗 好易买互联网科技 互联网领先科技成果宣传视频 平安好医生打造互联网科技医疗 小牛互联网科技有限公司地址 互联网科技工作委员会副主任毛军 国智互联网科技 互联网科技巨头监管 互联网女皇 腾讯科技 承德科技产业互联网发展 洛阳昕诺飞互联网科技有限公司 上海京穆互联网科技有限公司 互联网风格科技公司名称 上海乐五互联网科技有限公司 互联网科技创业计划的风险分析
0