ASP.NET Core项目解读之appsettings.json

 ASP.NET Core是一个全新的Web开发平台,微软在它上面构建了MVC、SingalR、GRPC、Orleans这样广泛使用的Web框架,我们先以MVC框架为例介绍利用ASP.NET Core构建项目的常见名词。这篇文章介绍appsettings.json

ASP.NET  Core MVC项目文件夹解读

 

  在开发项目的过程当中,生产环境与调试环境的配置是不一样的,比如连接字符串。 ASP .NET Core 支持利用环境变量来动态配置 JSON 文件。ASP.NET Core 引用了一个特定的环境变量 ASPNETCORE_ENVIRONMENT 来描述应用程序当前运行的环境。这个变量可以被设置为任何你喜欢的值,但是有三个值被约定使用: DevelopmentStaging 和 Production。

一、Appsettings.json

  首先在 ASP .NET Core 项目当中添加一个appsettings.json(默认都有该文件)文件,内容如下图:

扫描二维码关注公众号,回复: 11268497 查看本文章

   再继续添加 appsettings.Development.json和appsettings.Production.json两个配置文件。解决方案管理器如下图:

  我们可以在appsettings.Development.json和appsettings.Production.json分别设置相应的配置信息,比如数据库连接

 

 二、自定义配置json

  有时候一个复杂的项目配置信息比较多,Appsettings.json会很复杂所以一般都会把一些单独分离出来,比如将数据库连接配置分离出来。

  首先在 ASP .NET Core 项目当中添加一个connectionStrings.json文件,内容如下:

   再继续添加 connectionStrings.Development.json和connectionStrings.Production.json两个配置文件。如下图:

 

三、设置环境

  1、方案一

    ASP.NET Core控制环境切换最核心的东西是“ASPNETCORE_ENVIRONMENT”环境变量,它直接控制当前应用程序运行的环境类型。您可以通过在项目上右键菜单选择“属性”选项,然后切换到“调试”标签来修改此环境变量。如下图:

 

    此环境变量框架默认提供了三个值,当然也可以定义其它的值:

    •   Development(开发)
    •   Staging(预演)
    •   Production(生产)

  

  2、方案二

  也可以通过ASP.Net Core包含的launchSettings.json的文件设置环境,可以在项目中“Properties”文件夹中找到该文件。

 四、.NET Core类库项目中如何读取appsettings.json中的配置

  有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions 。

  1、先看丑陋的方法

    比如在项目中需要读取 appsettings.Development.json中的数据库连接字符串,上边已经介绍了如何根据环境切换配置,如果想读取appsettings.Production.json的配置,就按照上边的两种方式切换即可。

    添加DbClient类,需要在 DbClient 的构造函数参数中添加 IConfiguration 接口,并通过它直接读取:

    然后在 Startup 的 ConfigureServices() 方法中进行注入:

     然后在HomeController中调用:

    展示效果: 

   2、优雅的方法

    比如在项目中需要读取 appsettings.Development.json中的数据库连接字符串,上边已经介绍了如何根据环境切换配置,如果想读取appsettings.Production.json的配置,就按照上边的两种方式切换即可。

    首先定义一个存放连接字符串的配置类 ConnectOptions :

    

猜你喜欢

转载自www.cnblogs.com/qtiger/p/12960639.html