asp.net core 如何在Controller获取配置文件的值
2017-01-05 23:39
891 查看
场景:我们会把一些配置信息,写在配置文件文件中,便于我们修改和配置。在之前的asp.net 中可以通过ConfigurationManger来获取web.config里面的配置。在.net core 如何操作配置信息。
我们借助“Options Pattern” 的思想来解决在配置文件的获取。
我有一个配置文件appsetting.json内容如下:
现在要获取FileServers节点下面的信息,显然是一个数组或者集合,总之是多个值。
我们在项目的启动时候火读取appsetting.json文件的内容,此时,可以将我们需要的内容通过IOptions注入到容器中,当我们需要用到这些配置信息的时候再去容器里面获取:
直接上代码 在Startup里面中:
在HomeController 里面 修改构造函数 获取IOptions里面的值:
这样appsetting.json里面的值就可以获取到了。
我们借助“Options Pattern” 的思想来解决在配置文件的获取。
我有一个配置文件appsetting.json内容如下:
{ "ConnectionStrings": { "MySql": "Server=localhost;database=blog;uid=root;pwd=Password12!;" }, "FileServers": [ { "Host": "127.0.0.1", "Port": "5001" }, { "Host": "127.0.0.1", "Port": "5002" } ], "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } }
现在要获取FileServers节点下面的信息,显然是一个数组或者集合,总之是多个值。
我们在项目的启动时候火读取appsetting.json文件的内容,此时,可以将我们需要的内容通过IOptions注入到容器中,当我们需要用到这些配置信息的时候再去容器里面获取:
直接上代码 在Startup里面中:
// This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddMvc(); // services.AddOptions().Configure<FormatOptions>(Configuration.GetSection("Format")); ///using "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0" services.AddOptions().Configure<List<FileServerModel>>(Configuration.GetSection("FileServers")); }
在HomeController 里面 修改构造函数 获取IOptions里面的值:
public List<FileServerModel> FileServers { set; get; } public HomeController(IOptions<List<FileServerModel>> options) { FileServers = options.Value; }
这样appsetting.json里面的值就可以获取到了。
相关文章推荐
- asp.net core1.x/asp.net core2.0中如何加载多个配置文件
- 如何在ASP.NET Core类库项目中读取配置文件详解
- Asp.net Core Startup Class中是如何获取配置信息的
- [dotnetCore2.0]学习笔记之二: ASP.NET Core中,如何灵活使用静态文件和加载自定义配置
- [.Net码农]如何在ASP.NET的web.config配置文件中添加MIME类型
- 如何配置Web.config文件 for ASP.NET
- ASP.NET Core开发-如何配置Kestrel 网址Urls
- [转载][转]如何处理ASP.NET 2.0配置文件
- ASP.NET MVC 中单独的JS文件中获取Controller中设定的值
- ASP.NET vNext如何获取文件物理路径?
- 【无私分享:ASP.NET CORE 项目实战(第八章)】读取配置文件(二) 读取自定义配置文件
- 如何处理ASP.NET 2.0配置文件
- 负载均衡的场景下ASP.NET Core如何获取客户端IP地址
- 如何配置Web.config文件 for ASP.NET
- [备忘]如何在Asp.net MVC,非Controller中获取当前Request,Session,Response等请求信息
- asp.net mvc开发中,web.config文件如何配置数据库链接
- [转]如何处理ASP.NET 2.0配置文件
- 如何在ASP.NET MVC 中获取当前URL、controller、action
- 如何配置Asp.Net的web.config文件
- 【无私分享:ASP.NET CORE 项目实战(第六章)】读取配置文件(一) appsettings.json