为什么 Linux 上的 Asp.NET 5 需要 Kestrel ?

咨询区

  • Freeman Helmuth

当我在 Linux 上部署 ASP.NET 5 时,我试着了解整个 Web应用程序框架,所有的文档我都看过,包括这篇 http://docs.asp.net/en/latest/conceptual-overview/aspnet.html#servers  都没有找到我想要的答案。

为什么 Asp.NET 5 不能弃用 Kestrel 直接和 Nginx 集成?我一直都没有明白,而且我也在深度思考为什么一定是下面这样?


.NET Core(or mono) --> Kestrel --> Nginx

而且我发现 momo 上的 Asp.NET 和 Asp.NET MVC 已经直接支持 nginx 上的 fastcgi 了。https://www.mono-project.com/docs/web/fastcgi/nginx/

Kestrel 和 nginx 不都是一样的 httpserver,只不过前者少了一些功能罢了。

回答区

  • agua from mars

ASP.NET Core 并不需要 Kestrel。

你说的是对的,Kestrel 仅仅是一个实现了一些简单功能的 Http Server, 你可以在 Linux 或者 Mac 上无需开启 Kestrel 的情况下跑 Asp.NET Core,但前提是你必须要有一个 Http Server 或者 fastCGI server。

Nginx 通常用于给静态资源做反向代理,同时也可以给动态内容做 gzip压缩, 这一块上 Kestrel 并没有这些特性,当然你也可以写一个实现特定 Http 功能的 HttpServer。

  • agua from mars

真的,实际部署上你必须要 Kestrel,正如 Agua 所说,理论上:你可以将 Asp.NET Core 跑在 Kestrel 之外的 Http server 上,但前提是这些httpserver要支持 netcore。

然而到目前为止,也只有 Kestrel 这么唯一一个支持跑 netcore 的HttpServer,换句话说,目前还不存在用 .NET Core 写的 FastCGI-Server 库。

所以说,要想将 .NET Core 和 nginx,apache集成,你所能做的就是将它们的请求代理到 Kestrel 上。

点评区

Linux 和 Mac 平台上不清楚,在 windows 平台上可以弃用 Kestrel,将 Http.sys 直接集成到 Asp.NET Core,这是一点问题都没有的, .net core 还在发展,后续肯定会越来越强大的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

针对Spring的Spring Retry 我发现了这样一个大家都不知道的技巧!

外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。重试策略在服务治理方面也有很广泛的使用,通过定时检测&…

c#3.0关于JSON简单操作的实用帮助类(泛型实现)

关于json的操作,网上一搜一大把。避免重复造轮子,整理发布一个笔者在项目开发中经常用到的一个json实用帮助类,泛型实现,非常方便。不废话了,贴代码:1、json操作的帮助类: Codeusing System;usi…

谁还没个黑历史了。。。 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)

ios开发-第二天

1.#import可保证无论头文件出现多少次,只包含一次,而#include相反。 2.如果用户不提供文件路径的话,那么argc的值为1,可以用来做是否错误的判断。 3.面向对象和面向过程的区别 面向过程是分析出解决问题的步骤&#xf…

ASP.NET创建文件并写入内容

本文从最基本的操作开始,解释在ASP.NET中文件处理的概念,包括如从一个文件中读取内容、如何向一个文件中写入内容和如何删除一个文件。   前面已经提到,要想在ASP.NET 页面中进行文件处理,必须要有"System.IO"名称空间…

C# 虚方法与抽象方法区别

虚方法是必须要实现的,只有接口或者抽象方法才没有实现体,什么是实现体,就是方法的那对大括号:下面举例:public abstract void Fn1();//定义一个抽象方法 public vitrual void Fn2(){ };//定义一个虚方法(那对大括号必…

京东面试官:呦,你对中间件 Mycat了解的还挺深~

1.数据切分概念 数据的切分[(Sharding)]根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机))之上,这种切可以称之为数据的垂直…

Redis与Memcached的区别

2019独角兽企业重金招聘Python工程师标准>>> 传统MySQL Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量…

“高仿版拼多多”宣告破产!曾一年收割1.3亿用户,如今自救失败负债16亿

全世界只有3.14 % 的人关注了青少年数学之旅又一家改变世界的互联网公司跑路了啊?挣扎数月的淘集集最终也回天乏术了。淘集集并购重组最终失败,供应商何时能拿到被拖欠的货款仍然遥遥无期。这家主打比“拼多多”更下沉市场的社交电商,平台上线…

处在哪个阶段?

在职业生涯中,可以划分出多个阶段,但是如下3个阶段也许是最粗糙和实在的: 1、入门级,在别人的领导下可以完成工作。 2、成熟级,可以独立完成工作。 3、精英级,可以领到别人完成工作。 你处在哪个阶段&#…

.net知识和学习方法系列(十四)TraceListener的应用

在前一往上一往篇文章中,我们用到一个TextWriterTraceListener,它是为监视跟踪和调试输出的侦听器,对于跟踪调试的监听器还有两个,分别是:DefaultTraceListener和EventLogTraceListener,这三个跟踪调试侦听…

在VS Code中直接调试Web程序,是怎样一种体验?

前言要在VS Code中启动Chrome或Microsoft Edge中调试任何Web程序,您只需按F5或选择菜单"运行"->"启动调试"来启动会话。你可以选择在Chrome、Edge或Node.js中进行调试。Edge DevTools如果选择了Edge进行调试,你会发现调试工具条上…

[转]Multiple outputs from T4 made easy

本文转自:http://damieng.com/blog/2009/01/22/multiple-outputs-from-t4-made-easy One of the things I wanted my LINQ to SQL T4 templates to do was be able to split the output into a file-per-entity. Existing solutions used either a separate set of …

二叉树的深度优先和广度优先遍历

http://steven-hong.javaeye.com/blog/493665图的深度优先搜索法是树的先根遍历的推广,它的基本思想是:从图G的某个顶点v0出发,访问v0,然后选择一个与v0相邻且没被访问过的顶点vi访问,再 从vi出发选择一个与vi相邻且未…

面试官问:你做过什么Java线程池实践,我写了一篇博客给他看~

线程池大家都## 标题很熟悉,无论是平时的业务开发还是框架中间件都会用到,大部分都是基于JDK线程池ThreadPoolExecutor做的封装, 都会牵涉到这几个核心参数的设置:核心线程数,等待(任务)队列,最大线程数&am…

《硝烟中的Scrum和XP》书摘(1)

Nokia的Scrum标准:迭代要有固定的时长(TimeBox),不能超过六个星期。每一次迭代的结尾,代码必须经过QA的测试。Scrum团队必须有产品负责人,而且团队都清楚这个人是谁。产品负责人必须有产品的Backlog&#x…

【Blog.Idp开源】支持在线密码找回

(一个做认证平台,必须会遇到的一个问题)BCVP框架,是基于:ASP.NETCore5.0VUE.jsIdentityServer4等核心技术,实现的前后端分离与动态认证鉴权一体化平台。01密码找回认证中心绕不开的话题Architecture Design.无论你是自…

我的狗丢了,所以我能加你微信吗? | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)

Yahoo网站性能最佳体验的34条黄金守则

Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 Excetional Performance团队总结出了一系列可以提高网站速度的方法。可以分…

hdu 4597 + uva 10891(一类区间dp)

题目链接:http://vjudge.net/problem/viewProblem.action?id19461 思路:一类经典的博弈类区间dp,我们令dp[l][r]表示玩家A从区间[l, r]得到的最大值,于是就有dp[l][r] sum[l][r] - min(dp[l i][r], dp[l][r - i]) (i > 1 && i …