c# – 混淆:ASP.NET Core 2不是托管代码,但ASP.Net Core Runtim
关于Apppool中IIS中的Microsoft文档
here,我们可以为ASP.NET Core 2应用程序设置“Not managed code”,因为ASP.NET Core 2应用程序不需要CLR:
这让我们感到困惑,因为有一个下载页面提供了下载’.NET Core Runtime 2.0.6’的链接:https://www.microsoft.com/net/download/all 当ASP.NET Core 2不是托管代码时,为什么运行时可以下载? 解决方法
IIS上的Asp.net核心作为反向代理运行.这意味着:
> Asp.net核心运行在一个单独的过程中.该进程运行单独的独立Web服务器(通常是Kestrel),绑定到本地环回接口上的某个动态端口.例如,它可能会侦听“localhost:3434”. 这意味着不需要在IIS托管池中运行CLR,因为实际的asp.net核心不在IIS应用程序池进程中运行. 当然,asp.net核心进程本身需要托管运行时,但它可以加载此运行时本身,而无需IIS的任何帮助. 更新:如评论中所述,ASP.NET 2.1的下一版本将介绍IIS中托管的asp.net核心的进程内模型.在这种情况下,asp.net核心代码实际上将在IIS应用程序池中运行.但是,即使在这种情况下,应用程序池.NET CLR版本也应保留为“无托管代码”,因为?asp.net核心IIS模块将加载.NET Core CLR本身,无需IIS干预. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |