ASP。网络核心怎么配置和使用环境变量

  介绍

这篇文章主要介绍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   null

ASP。网络核心怎么配置和使用环境变量