.NET Core WebApi 快速切换开发/生产环境

发布时间 2023-08-25 08:49:29作者: 想睡觉的小坤

项目结构中有三个配置文件

 

   appsettings.json:通用配置文件

  appsettings.Development.json:开发环境配置文件

  appsettings.Production.json:生产环境配置文件(该文件需要自行添加)

系统默认读取配置文件的顺序是

  开发环境:appsettings.Development.json --> appsettings.json

  生产环境:appsettings.Production.json --> appsettings.json

  没有Development和Production的时候默认读取 appsettings.json

如何修改读取文件

如果不想是默认的读取文件, 可以手动修改.

开发环境

点击项目的属性, 点击调试, 将环境变量改为 Producttion, 这样开发环境就可以直接读取 appsettings.Production.json. 

如果你设置的值找不到, 则会读取appsettings.json里的

 

 

 

生产环境(服务器)

生产环境我们通过修改服务器上的web.config文件, 在apsNetCore节点里添加

<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />

 其中 value 可以设置你想要读取的文件. 如果找不到则会读取 appsettings.json里的

1 <aspNetCore processPath="dotnet" arguments=".\ApiDemo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
2   <environmentVariables>
3      <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
4   </environmentVariables>
5 </aspNetCore>

 

 

读取配置文件

复制代码
 1 using Microsoft.AspNetCore.Mvc;
 2
 3 namespace ApiDemo.Controllers
 4 {
 5     public class TestController : Controller
 6     {
 7         private readonly IConfiguration _configuration;
 8         public TestController(IConfiguration configuration)
 9         {
10             _configuration = configuration;
11         }
12         /// <summary>
13         /// 测试
14         /// </summary>
15         /// <returns></returns>
16         [HttpGet("TestGet")]
17         public IActionResult TestGet()
18         {
19             var cfRt = _configuration["apiurl"];//读取配置文件
20             return Ok(cfRt);
21         }41     }
42 }
复制代码