.NET Core Hosting Bundle

时间:2018-04-26 10:53:27

标签: asp.net-core .net-core asp.net-core-2.0

据我所知,Docs .NET Core Hosting Bundle会安装。NET Core Runtime.NET Core LibraryASP.NET Core Module

似乎有一个非常.NET Core Runtime version的捆绑包(2.0.6,2.0.7,...)。

如果我有自己的应用程序部署,我仍然需要ASP.NET核心模块。但是我没有看到没有完整捆绑包可以单独下载模块。有没有可以下载的地方?

如果不是:

如果我仍然需要在我的IIS服务器上安装整个.net核心sdk /运行包,那么拥有自包含应用程序有什么意义呢?

3 个答案:

答案 0 :(得分:4)

没有正式下载用于IIS的ASP.NET核心模块(" ANCM"),尽管可以通过调用带有OPT_INSTALL_LTS_REDIST=0 OPT_INSTALL_FTS_REDIST=0作为参数的主机软件包安装程序来安装它(至少1.0-2.0安装)。

  

如果我还在,拥有自包含应用程序的重点是什么?   需要在我的IIS上安装整个.net核心sdk /运行时包   服务器

除了安装程序只能安装ANCM之外,不要忘记IIS不是ASP.NET核心应用程序的唯一托管选项。人们仍然可以选择在Linux上或作为Windows服务托管它。要么暴露于公共互联网(2.0+支持),要么暴露在NGINX / Apache / ...

之后

如果需要,在.NET Core / ASP.NET Core中部署任何组件的预览,每日或自定义构建也非常有用。

答案 1 :(得分:2)

检查此主题的docs

ASP.NET核心模块是HttpPlatformHandler的一个分支,它被修改为与ASP.NET Core的新系统一起使用,之前用于托管ASP.NET应用程序。 related GitHub issue

IIS需要它才能在第一个请求到达时启动ASP.NET Core应用程序并将请求路由到ASP.NET Core应用程序。

使用.NET Core(以及ASP.NET Core),ASP.NET Core附带了自己的http服务器(之前只有Http.sys也称为WebListener自托管,即通常用于WCF服务)。它还将几个头重定向到应用程序,因为带有ASP.NET Core的IIS仅作为反向代理。

换句话说,ASP.NET Core在IIS进程的外部托管,并且ASP.NET核心模块可以与之通信并启动外部进程(如果尚未启动)。这也意味着,IIS中托管的ASP.NET核心应用程序受IIS生命周期的影响(即IIS可能会在空闲时停止您的应用程序 - 当您自行托管您的应用程序或使用像nginx这样的东西时,这种情况不会发生代理)。

使用ASP.NET Core 2.1 preview1,还可以在IIS进程(w3wp.exe)中托管ASP.NET Core应用程序,以提高请求吞吐量。有关详细信息,请阅读ASP.NET Core 2.1.0-preview1: Improvements to IIS hosting

答案 2 :(得分:0)