日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2023/12/4 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么 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 還在發展,后續肯定會越來越強大的。

總結

以上是生活随笔為你收集整理的为什么 Linux 上的 Asp.NET 5 需要 Kestrel ?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。