zoukankan      html  css  js  c++  java
  • ASP.NET Core项目解读之appsettings.json

      环境:ASP.NET Core3.1

      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(默认都有该文件)文件,内容如下图:

       再继续添加 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的配置,就按照上边的两种方式切换即可。

      

        首先在 Startup 的 ConfigureServices() 方法中进行注入:

        然后在HomeController中调用:

        展示效果: 

       2、优雅的方法

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

        首先我们在appsettings.Development.json 都添加一个 ConnectionStrings节点。 

       

        然后定义一个存放连接字符串的配置类 ConnectionStrings(类的名称要和节点名称保持一致): 

        在 Startup 的 ConfigureServices() 中注入进去: 

         然后在HomeController中调用,给 HomeController的构造函数参数中添加 IOptions<ConnectionStrings> 接口,通过 IOptions<ConnectionStrings> 读取配置: 

         

        效果如下: 

      

     五、读取自定义配置Json

      1、第一种方法:IConfiguration方式

      在根目录建一个PersonConfig.json配置文件 

       

      

       首先在Program中, 调用 ConfigureAppConfiguration 以指定应用的配置提供程序: 

        

      然后在HomeController中调用:

       效果展示:

      

       2、第二种方式 IOPtions   

      在根目录建一个PersonConfig.json配置文件  

       

       首先在Program中, 调用 ConfigureAppConfiguration 以指定应用的配置提供程序: 

     

      新建实体:(类的名称要和节点名称一致)

      

       在startup的 ConfigureServices中注入:

       然后在HomeController中调用:

     

       展示效果:

     

  • 相关阅读:
    JUC01
    Linux
    逆向工程核心原理——第三十四章
    逆向工程核心原理——第三十三章
    逆向工程核心原理——第三十二章
    逆向工程核心原理——第三十章
    逆向工程核心原理——第二十八章
    逆向工程核心原理——第二十七章
    逆向工程核心原理——第二十四章
    逆向工程核心原理——第二十三章
  • 原文地址:https://www.cnblogs.com/qtiger/p/12960639.html
Copyright © 2011-2022 走看看