关于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知道该进程(它在哪个端口上侦听,如何启动它),以及当IIS收到请求时 – 它将该请求代理到在单独进程中运行的asp.net核心本地Web服务器.
这意味着不需要在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干预.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。