这篇文章主要介绍ASP。网络核心怎么配置和使用环境变量,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强>前言强>
通常在应用程序开发到正式上的线,在这个过程中我们会分为多个阶段,通常会有开发,测试,以及正式环境等。每个环境的参数配置我们会使用不同的参数,因此呢,在ASP。网络核心中就提供了相关的环境API,方便我们更好的去做这些事情。
<强>环境强>
ASP。网络核心使用ASPNETCORE_ENVIRONMENT来标识运行时环境。
ASP。网络核心预设环境
- <李>
发展:开发环境
李> <李>分期:暂存环境(测试环境)
李> <李>生产:正式环境
李>要取得系统变量ASPNETCORE_ENVIRONMENT,在3.0版本之前可以通过注入IHostingEnvironment来获取,3。x通过IWebHostEnvironment请看如下代码片段:
, public class 启动 {才能 ,,,public void 配置(IApplicationBuilder 应用,IWebHostEnvironment env) ,,,{ ,,,,,if (env.IsDevelopment ()) ,,,,,{ ,,,,,} ,,,,,app.Run (async (上下文),=比; ,,,,,{ ,,,,,,,await context.Response.WriteAsync ( ,,,,,,,,,“美元EnvironmentName:, {env.EnvironmentName}, IsDevelopment:, {env.IsDevelopment ()}, ,,,,,,,); ,,,,,}); ,,,} 以前,,}>网站启动后IWebHostEnvironment会从ASPNETCORE_ENVIRONMENT中获取内容,该变量可以是我们需要的任何值。也就是该变量不一定要一定是预设的值,我们是可以自定义的。
比如我们定义一个名为测试环境
,,, public void 配置(IApplicationBuilder 应用,IWebHostEnvironment env) ,,,{ ,,,,,env.EnvironmentName =,“test"; ,,,,,if (env.IsDevelopment ()) ,,,,,{ ,,,,,,//TODO ,,,,,}else if (env.IsEnvironment (“text")) ,,,,,{ ,,,,,,//TODO ,,,,,} ,,,,,app.Run (async (上下文),=比; ,,,,,{ ,,,,,,,await context.Response.WriteAsync ( ,,,,,,,,,“美元EnvironmentName:, {env.EnvironmentName}, IsDevelopment:, {env.IsDevelopment ()}, ,,,,,,,); ,,,,,}); 以前,}>注:在Windows和macOS上,环境变量和值不区分大小写。默认情况下,Linux环境变量和值要区分大小写。
public static IHostBuilder CreateHostBuilder (string [], args),=比; ,,,,,Host.CreateDefaultBuilder (args) ,,,,,,,.ConfigureAppConfiguration ((hostContext,配置),=比; ,,,,,,,{ ,,,,,,,,,var env =, hostContext.HostingEnvironment; ,,,,,,,,,config.SetBasePath (Path.Combine (env.ContentRootPath,“Configuration")) ,,,,,,,,,,,.AddJsonFile(路径:“settings.json",,可选:,假,,reloadOnChange:,真的) ,,,,,,,,,,,.AddJsonFile(路径:,“美元;设置。{env.EnvironmentName} .json",,可选,,真的,,reloadOnChange:, true); ,,,,,,,}) ,,,,,,,.ConfigureWebHostDefaults (webBuilder =比; ,,,,,,,{ ,,,,,,,,,webBuilder.UseStartup(); ,,,,,,,}); 通过上述代码我们,读取我们的配置文件回显读取设置。json并设置为可选:假的,表示该配置为必要的配置;再往下继续读取再读取设置。{env.EnvironmentName}。json文件。当加载遇到相同的关键那么就会覆盖掉前面的配置项。
- <李>
SetBasePath:设置配置的目录位置,如果是放在不同目录,再把路径换掉即可。
李> <李>AddJsonFile:
李>- <李>
路径:文件的路径位置。
李> <李>可选:如果是必要的配置文件,可选就要设定为假,当文件不存在就会引发FileNotFoundException。
李> <李>reloadOnChange:如果文件被更新,就同步更新IConfiguration实例的值。
李> <强>环境设置强>
<强> IIS 强>
web。配置配置环境变量
& lt; ? xml version=?.0“,编码=皍tf-8" ?比; & lt; configuration> ,& lt; system.webServer> & lt;才能handlers> null null null null null null null null null null null null null null null null null null null null null null null null null null null nullASP。网络核心怎么配置和使用环境变量