ASPNETCORE_* 环境变量清单

前言

ASP.NET Core 内建了许多ASPNETCORE_开头的环境变量,用于在运行时调整框架预设的行为。比如,我们在《临时文件夹引发的 Asp.Net Core 框架异常》中发现的ASPNETCORE_TEMP

我通过查找源码,整理出了所有的 ASPNETCORE_* 环境变量,让我们看看,到底有哪些!.

以下环境变量按照字母顺序进行排序

清单

  • ASPNETCORE_APPL_PATH 指定服务器应侦听的根目录,仅用于 IIS 托管

  • ASPNETCORE_CONTENTROOT 确定 ASP.NET Core 开始搜索静态资源文件的根目录,默认为应用程序集所在的文件夹

  • ASPNETCORE_DETAILEDERRORS 是否捕获详细的异常,值可以为true1,当环境是Development时默认为true

  • ASPNETCORE_ENVIRONMENT 切换不同的运行时环境,比如 Development、Production;

  • ASPNETCORE_HOSTINGSTARTUPASSEMBLIES  以分号分隔的启动程序集,在启动时加载指定程序集中的 HostingStartup attribute 并执行;

  • ASPNETCORE_HOSTINGSTARTUPEXCLUDEASSEMBLIES  以分号分隔的需要排除的启动程序集;

  • ASPNETCORE_IIS_HTTPAUTH 认证方案,仅用于 IIS 托管

  • ASPNETCORE_IIS_WEBSOCKETS_SUPPORTED 是否支持 WebSockets,仅用于 IIS 托管

  • ASPNETCORE_Kestrel__Certificates__Default__Password https 证书文件密码;

  • ASPNETCORE_Kestrel__Certificates__Default__Path https 证书文件位置;

  • ASPNETCORE_PORT 指定服务器应侦听的端口,仅用于 IIS 托管

  • ASPNETCORE_SERVER.URLS 已废弃,替换为ASPNETCORE_URLS

  • ASPNETCORE_TEMP 临时文件夹路径,如未指定则调用Path.GetTempPath()获得操作系统设置的临时文件夹路径;

  • ASPNETCORE_TOKEN 用于与 ASP.NET Core 模块协调的令牌,仅用于 IIS 托管

  • ASPNETCORE_URLS 设置为服务器应响应的以分号分隔 (;) 的 URL 前缀列表。例如http://localhost:123;https://localhost:456

结论

不列不知道,Asp.Net Core 中居然使用了这么多的环境变量。在实际工作中,你用到过哪些环境变量?欢迎留言讨论!