appsettings.json

摘要:
添加服务。启动时添加DbContext。cs<options.UseSqlServer(Configuration.GetConnectionString(“SqlServerConnection”));“服务器=.;数据库=db_wkmvc;用户ID=sa_wkmvc,密码=123456;
appsettings.json 目录索引 

【无私分享:ASP.NET CORE 项目实战】目录索引

 

简介

  在我们之前的Asp.net mvc 开发中,一提到配置文件,我们不由的想到 web.config 和 app.config,在 core 中,我们看到了很多的变化,新的配置系统显得更加轻量级,具有更好的扩展性,并且支持多样化的数据源。

  博客园对于这个的讲解很多,比如:Artche ,但是,没有点基础看老A的博客还是有些吃力的,对于老A介绍的配置,我也是看的一头雾水,在后面的文章中,我会用像我们这些菜鸟容易接受的方式,重新解释一下。

  今天,我们以 appsettings.json 为例,读取一些简单的系统配置。

appsettings.json

   在 第二章 中,我们在讲到EF上线文时,在 Startup.cs 添加 services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("SqlServerConnection"))); 已经使用到了 appsettings.json 

  我们添加一些简单的系统配置,来演示一下读取 appsettings.json:

  

  {
    "ApplicationInsights": {
      "InstrumentationKey": ""
    },
    "ConnectionStrings": {
      "SqlServerConnection": "Server=.;Database=db_wkmvc;User ID=sa_wkmvc;Password=123456;"
    },
    "Logging": {
      "IncludeScopes": false,
      "LogLevel": {
        "Default": "Debug",
        "System": "Information",
        "Microsoft": "Information"
      }
    },
    "ApplicationConfiguration": {
      //文件上传路径
      "FileUpPath": "/upload/",
      //是否启用单用户登录
      "IsSingleLogin": "True",
      //允许上传的文件格式
      "AttachExtension": "gif,jpg,jpeg,png,bmp,rar,zip,doc,docx,xls,xlsx,ppt,pptx,txt,flv,apk,mp4,mpg,ts,mpeg,mp3,bak,pdf",
      //图片上传最大值KB
      "AttachImagesize": 12400
    }
  }

我们添加一个配置类 ApplicationConfiguration

复制代码
 1 public class ApplicationConfiguration
 2     {
 3         #region 属性成员
 4 
 5         /// <summary>
 6         /// 文件上传路径
 7         /// </summary>
 8         public string FileUpPath { get; set; }
 9         /// <summary>
10         /// 是否启用单用户登录
11         /// </summary>
12         public bool IsSingleLogin { get; set; }
13         /// <summary>
14         /// 允许上传的文件格式
15         /// </summary>
16         public string AttachExtension { get; set; }
17         /// <summary>
18         /// 图片上传最大值KB
19         /// </summary>
20         public int AttachImagesize { get; set; }
21         #endregion
22     }
复制代码

  在 Startup.cs 的 ConfigureServices 添加

  services.Configure<ApplicationConfiguration>(Configuration.GetSection("ApplicationConfiguration"));

  appsettings.json第3张

添加一个领域层 AppConfigurtaionServices

  public class AppConfigurtaionServices
  {
    private readonly IOptions<ApplicationConfiguration> _appConfiguration;
    public AppConfigurtaionServices(IOptions<ApplicationConfiguration> appConfiguration)
    {
      _appConfiguration = appConfiguration;
    }

    public ApplicationConfiguration AppConfigurations
    {
      get
        {
          return _appConfiguration.Value;
        }
    }
  }  

   添加引用 using Microsoft.Extensions.Options;

  

  我们来测试一下:

  appsettings.json第4张

  测试结果:

  appsettings.json第5张

希望跟大家一起学习Asp.net Core 

免责声明:文章转载自《appsettings.json》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇springmvc controller动态设置content-type变量的解构赋值下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android-自己定义PopupWindow

Android-自己定义PopupWindow 2014年5月12日 PopupWindow在应用中应该是随处可见的,非经常常使用到,比方在旧版本号的微信其中就用到下拉的PopupWindow。那是自己定义的。新版微信5.2的ActionBar,有人已经模仿了它,但微信详细是使用了ActionBar还是其它的笔者倒是不太清楚。本篇博客主要介绍怎样自己定...

MVC4 js里给对象赋值

如果需要用js给control传一个对象,那么对象的属性在c#的model必须加public,不然在js赋值时赋不了的,但是不报错,等你调试到control时,这些属性无聊如何都是null,这样会很郁闷的。 controller方法: [HttpPost] public JsonResult SaveSelectedAcPoint(Acu...

ztree实现拖拽功能

最近刚刚接触了一个树形结构的文件目录的,通过拖拽实现结构的变化,利用ztree来实现; ztree是基于jquery的一个插件 api相对简单上手,相比与element 、antd 个人感觉相对简单些 基本入手思路如下:   1.这个官方文档  http://www.treejs.cn/v3/main.php#_zTreeInfo,   在马云上下载dem...

Golang服务器热重启、热升级、热更新(safe and graceful hot-restart/reload http server)详解

服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。 而另一种更方便的方法是在应用上做热重启,直接更新源码、配置或升级应用而不停服务。 这个功能在重要业务上尤为重要,会影响服务可用性、用户体验。 原理 热重启的原理比较简单,但是涉及到一些系统调用以及父子进程之间文件句...

LXC-Linux Containers介绍

Linux Containers,Linux的容器,容器嘛,可以想象成一个大的装东西的罐子,罐子口很大,里面可以装很多同样形状,只不过大小不同的小罐子。专业的话,叫做基于容器的操作系统层面的虚拟化技术。 在这个大的容器里面,可以装很多小的容器,每一个容器都具备完整的运行环境,如特定的CPU、memory节点、可分配的cpu时间,IO时间,受限的内存大小(包...

root密码忘记了,怎么办?

root是管理员使用的超级用户,如果密码忘记了,可以使用以下两种方法修改。 方法一: 进入单用户模式下进行密码修改 步骤1:重启系统,在系统进入3秒启动阶段,快速点击键盘上任意键可以取消默认进入系统状态,直接进入grub菜单选择界面。 步骤2:进入菜单选择界面之后,下面有简单介绍。我们直接输入e键,进入grub菜单的内核管理界面。总结使用上下键选中内核选...