• asp.net core 读取appsettings.json配置项


    1.新建一个asp.net core 项目

    2.打开appsettings.json,加入配置项

    {
      "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
          "Default": "Warning"
        }
      },
      "StarInfo": { //普通方式
        "Port": 3362
      },
      "Job": {
        "Name": "王小二"
      },
      "JobList": [ //集合方式
        {
          "Name": "王小二",
          "Age": 29,
          "sex": ""
        },
        {
          "Name": "李一一",
          "Age": 22,
          "sex": ""
        }
      ]
    }

    3.创建相应的Model

    Job.cs

     public class Job
    {
         public string Name { get; set; }
    }

    JobItem.cs

    public class JobItem
    {
       public string Name { get; set; }
       public int Age { get; set; }
       public string Sex { get; set; }
    }

    StarInfo.cs

    public class StarInfo
    {
        public int Port { get; set; }
    }

    4.在Startup.cs中加入获取项

    public void ConfigureServices(IServiceCollection services)
    {
         services.AddMvc();
         //读取配置信息
         services.Configure<StarInfo>(this.Configuration.GetSection("StarInfo"));
         //读取配置信息
         services.Configure<Job>(this.Configuration.GetSection("Job"));
         services.Configure<List<JobItem>>(this.Configuration.GetSection("JobList"));
    }

    5.注入到Controller中

    public class HomeController : Controller
        {
            public StarInfo StarInfoConfig;
            public Job JobConfig;
            public List<JobItem> JobListConfig;
            //重写构造函数,包含注入的配置信息
            public HomeController(IOptions<StarInfo> setting, IOptions<Job> jobsetting, IOptions<List<JobItem>> joblistsetting)
            {
                StarInfoConfig = setting.Value;
                JobConfig = jobsetting.Value;
                JobListConfig = joblistsetting.Value;
            }
            public IActionResult Index()
            {
                string portstr = StarInfoConfig.Port.ToString();
                string jobname = JobConfig.Name;
                string liststr = "";
                JobListConfig.ForEach(item =>
                {
                    liststr += item.Name + "," + item.Age + "," + item.Sex + "|||||";
                });
                ViewBag.portstr = portstr;
                ViewBag.jobname = jobname;
                ViewBag.liststr = liststr;
                return View();
            }
        }

    6.输出结果

     点击下载代码

  • 相关阅读:
    Webservice里使用Linq遇到ToList输出泛型而产生循环引用错误的解决办法(转)
    JavaScript 面向对象程序设计(转)
    SilverLight中的基本图形(转)
    JQuery常用方法一览(转)
    常用的JS(转)
    简单的java socket 服务器端
    Eclipse RCP 之国际化(转载)
    使用Eclipse构建GeoTools项目
    java.lang.UnsatisfiedLinkError: no XX in java.library.path解决方法
    sqlite第三方类库:FMDB使用(转载)
  • 原文地址:https://www.cnblogs.com/itmu89/p/8310529.html
Copyright © 2020-2023  润新知