为什么发布到IIS是ASP.net核心的变化?

时间:2016-06-26 05:55:16

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

当我在Visual Studio 2015 CTP 5下发布时,我不必为应用程序池CLR版本进行设置。

现在,对于ASP.net核心应用程序和文档( http://docs.asp.net/en/latest/publishing/iis.html ),我们必须将应用程序池clr设置为无托管代码。

为什么会这样?

2 个答案:

答案 0 :(得分:5)

ASP.NET核心应用程序不再在IIS内运行,而是在进程外运行,IIS仅作为反向代理。此功能由AspNetCoreModule提供,它是本机IIS模块。由于在IIS进程中没有运行托管代码,因此建议将应用程序池设置为“无托管代码”。 我写了一篇详细的博客文章,描述了ASP.NET核心应用程序如何与IIS一起运行。你可以找到它here

答案 1 :(得分:0)

这是因为ASP.NET Core作为IIS之外的普通旧命令行应用程序运行。因此,IIS只是Kestrel的传递,Kestrel是ASP.NET核心Web服务器,它运行在它自己独立的进程中。该平台提供.NET Core的跨平台功能。