我正在研究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
的自托管应用吗?
答案 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非常相似的是我们如何从启动类配置中间件管道