在 ASP.Net Core 中设置(或不设置).NET CLR 版本有何影响?

2024-01-09

为 IIS Asp.NET Core 应用程序池设置“无托管代码”.NET CLR 版本有什么意义?

文档 https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?tabs=aspnetcore2x

ASP.NET Core 在单独的进程中运行并管理运行时。 ASP.NET Core 不依赖于加载桌面 CLR。设置.NET 无托管代码的 CLR 版本是optional.

因为它是optional,保持默认有什么缺点v4.0?为什么文档明确指示将其设置为“无托管代码”?目前尚不清楚此特定配置是否存在性能问题。


当您将应用程序池的 .NET CLR 版本指定为 4.0 时,IIS 会将一些 ASP.NET 支持库加载到其工作进程中(例如aspnet_isapi.dll对于经典管道模式,以及webengine4.dll对于集成模式)。这会增加内存使用量和攻击面,还可能产生其他影响。

因此,如果您只运行非 ASP.NET 4.x 应用程序(PHP、ASP.NET Core 等),则可以设置“No Managed Code”来消除所有麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ASP.Net Core 中设置(或不设置).NET CLR 版本有何影响? 的相关文章

随机推荐