Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在所有web服务器上运行asp.net核心应用程序?这就是红隼的原因吗?_Asp.net Core - Fatal编程技术网

Asp.net core 如何在所有web服务器上运行asp.net核心应用程序?这就是红隼的原因吗?

Asp.net core 如何在所有web服务器上运行asp.net核心应用程序?这就是红隼的原因吗?,asp.net-core,Asp.net Core,实际上我不明白。asp.net核心应用程序如何跨平台? 这就是红隼的原因吗?我认为web服务器接受请求并发送给Kestrel bla bla bla。为什么他们需要红隼 asp.net核心应用程序如何跨平台 应用程序通常需要运行时。Java、JS、Python……您总是需要目标系统上的某些东西才能使您的应用程序正常工作。对于asp.net核心,它是asp.net核心运行时,此运行时可用于许多平台。这就是为什么你可以在所有这些平台上运行你的应用程序。有关可用的软件包,请参阅 这就是红隼的原因吗 K

实际上我不明白。asp.net核心应用程序如何跨平台? 这就是红隼的原因吗?我认为web服务器接受请求并发送给Kestrel bla bla bla。为什么他们需要红隼

asp.net核心应用程序如何跨平台

应用程序通常需要运行时。Java、JS、Python……您总是需要目标系统上的某些东西才能使您的应用程序正常工作。对于asp.net核心,它是asp.net核心运行时,此运行时可用于许多平台。这就是为什么你可以在所有这些平台上运行你的应用程序。有关可用的软件包,请参阅

这就是红隼的原因吗

Kestrel是web服务器部件。(如果你编写一个命令行应用程序,你不需要kestrel)。您可以将其与Java中的Tomcat进行比较

我认为web服务器接受请求并发送给Kestrel bla bla bla

在大多数情况下(除了非常小的设置),我们总是有一个代理(web)服务器,它接收请求并将其转发到另一个web服务器。虽然两者看起来非常相似,但他们的角色不同

常见(但只是一个示例)设置:

  • 代理(web)服务器:终止TLS,对多个后端web服务器进行负载平衡
  • 后端(web)服务器:运行应用程序。但请关注这一部分。无需配置TLS证书,易于扩展
为什么他们需要红隼


同样,虽然一些语言/框架使用现有服务器的模块(例如PHP),但其他语言/框架使用单独的服务器(Java、JS、C#、…)。对于c#它是kestrel的web主机。

你可能想看看Java、JS、Python……fwiw:那是语言而不是运行时:p运行时是JVM、NodeJS(用于服务器端JS和基于Google V8的应用程序)、CLR/CoreCLR等。除此之外,kestrel现在还可以用于自托管(在1.x版中不推荐),但当多个应用程序与Kestrel一起运行时,您不能共享相同的端口。因此,Web服务器接收这些请求并将其重定向到后面的应用程序(或docker,如果适用)。。。反面proxy@Tseng-是的,它不是运行时列表,而是需要运行时的语言列表。还有一些地方通常不需要运行时(假设我们将“运行时”定义为通常不属于操作系统的部分)。