前言
ASP.NET Core 内建了许多ASPNETCORE_
开头的环境变量,用于在运行时调整框架预设的行为。比如,我们在《临时文件夹引发的 Asp.Net Core 框架异常》中发现的ASPNETCORE_TEMP
。
我通过查找源码,整理出了所有的 ASPNETCORE_* 环境变量,让我们看看,到底有哪些!.
以下环境变量按照字母顺序进行排序
清单
-
ASPNETCORE_APPL_PATH 指定服务器应侦听的根目录,仅用于 IIS 托管;
-
ASPNETCORE_CONTENTROOT 确定 ASP.NET Core 开始搜索静态资源文件的根目录,默认为应用程序集所在的文件夹
-
ASPNETCORE_DETAILEDERRORS 是否捕获详细的异常,值可以为
true
或1
,当环境是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 中居然使用了这么多的环境变量。在实际工作中,你用到过哪些环境变量?欢迎留言讨论!