详细信息需要澄清官方asp.net网站的信息

时间:2016-06-25 17:19:56

标签: asp.net-core owin .net-core kestrel-http-server

我正在研究Asp.Net Core。老实说,我有点困惑。

在官方网站上说:

  

ASP.NET Core与托管应用程序的Web服务器环境完全分离

这是什么意思?这是否意味着asp.net核心应用程序可以托管在接受http流量并响应它的任何服务器上,我从后续行中得到这个概念

  

ASP.NET Core支持在IIS和IIS Express中托管,以及使用Kestrel和WebListener HTTP服务器的自托管方案

从上面的引用:什么是Kestrel和WebListener HTTP服务器?这是否意味着apache tomcat还可以托管asp.net核心应用程序,如果可以,那么安装apache后我将需要什么?

我想知道的最后一件事是

  

此外,开发人员和第三方软件供应商可以创建自定义服务器来托管他们的ASP.NET核心应用程序。

如何创建自定义服务器来托管asp.net核心应用程序。这是指使用OWIN的自托管应用吗?

1 个答案:

答案 0 :(得分:3)

默认情况下,

应用程序基本上是自托管的,基本上是一个内部运行kestrel Web服务器的控制台应用程序。当他们说它与Web服务器分离时,他们的意思是较旧的ASP.NET应用程序与IIS紧密耦合,而新的ASP.NET Core与之脱钩。要查看它的基本内容,请查看this sample,看看Program.cs是如何通过dotnet命令调用的控制台应用程序,即dotnet run,它可以配置托管内容以及启动类的内容。

目前,kestrel并不是一个面向互联网的Web服务器,有一个模块可以在IIS后面运行它,并且有关于在nginx后面代理运行它的教程。也应该可以使用apache执行此操作但不确定是否存在已存在的模块或者是否需要模块

kestrel是跨平台并且默认使用,可以使用weblistener而不是kestrel,但我“认为”只是windows

我不确定我们是否仍然称它为OWIN,但与OWIN非常相似的是我们如何从启动类配置中间件管道