ASP.NET Core 1.0 Configuration 配置管理

documentation: https://docs.asp.net/en/latest/fundamentals/configuration.html
github: https://github.com/aspnet/Configuration/

项目结构

  • 配置的接口定义与基础实现
    • Microsoft.Extensions.Configuration  配置文件的基础实现
    • Microsoft.Extensions.Configuration.Abstractions  配置文件的基础实现的接口定义
    • Microsoft.Extensions.Configuration.Binder  特殊配置文件实现
  • 配置的扩展
    • Microsoft.Extensions.Configuration.CommandLine  命令行扩展
    • Microsoft.Extensions.Configuration.EnvironmentVariables  环境变量扩展
    • Microsoft.Extensions.Configuration.FileExtensions  文本类型扩展
    • Microsoft.Extensions.Configuration.FileProviderExtensions 用来检测配置文本是否变动
    • Microsoft.Extensions.Configuration.Ini  Ini文件类型扩展
    • Microsoft.Extensions.Configuration.Json Json文件类型扩展
    • Microsoft.Extensions.Configuration.Xml   Xml文件类型扩展

ASP.NET Core 1.0 中抛弃了原先的web.config文件机制,引用了现有的appsettings.json文件机制,配置的文件的类型可以是JSON,XML,INI等,如在Startup类中:

    /// <summary>
    /// 配置信息
     /// </summary>
    public IConfigurationRoot Configuration { get; set; }

    /// <summary>
    /// 程序入口点
    /// </summary>
    /// <param name="env"></param>
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
                     .AddJsonFile("appsettings.json")
                     .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

新的配置机制基于Microsoft.Extensions.Configuration命名空间,IConfiguration类中定义配置信息的实例接口

    /// <summary>
    /// Represents a set of key/value application configuration properties.
    /// </summary>
    public interface IConfiguration
    {
        /// <summary>
        /// Gets or sets a configuration value.
        /// </summary>
        /// <param name="key">The configuration key.</param>
        /// <returns>The configuration value.</returns>
        string this[string key] { get; set; }

        /// <summary>
        /// Gets a configuration sub-section with the specified key.
        /// </summary>
        /// <param name="key">The key of the configuration section.</param>
        /// <returns>The <see cref="IConfigurationSection"/>.</returns>
        /// <remarks>
        ///     This method will never return <c>null</c>. If no matching sub-section is found with the specified key,
        ///     an empty <see cref="IConfigurationSection"/> will be returned.
        /// </remarks>
        IConfigurationSection GetSection(string key);

        /// <summary>
        /// Gets the immediate descendant configuration sub-sections.
        /// </summary>
        /// <returns>The configuration sub-sections.</returns>
        IEnumerable<IConfigurationSection> GetChildren();

        IChangeToken GetReloadToken();
    }

时间: 2024-10-10 10:24:51

ASP.NET Core 1.0 Configuration 配置管理的相关文章

asp.net core 2.0 web api基于JWT自定义策略授权

JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源.关于JWT的技术,可参考网络上文章,这里不作详细说明, 这篇博文,主要说明在asp.net core 2.0中,基于jwt的web api的权限设置,即在asp.net core中怎么用JWT,再次就是不同用户或角色因为权限问题,即使援用Token,也不能访问不该访

一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移

不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.supervisor.mysql环境搭建搭建好了.net core linux的相关环境,今天就来说说ef core相关的配置及迁移: 简介: Entity Framework(以下简称EF) 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,EF Core是Entity

初识ASP.NET Core 1.0

本文将对微软下一代ASP.NET框架做个概括性介绍,方便大家进一步熟悉该框架. 在介绍ASP.NET Core 1.0之前有必要澄清一些产品名称及版本号.ASP.NET Core1.0是微软下一代ASP.NET 框架,在这之前ASP.NET版本稳定在ASP.NET  4.6,对应的.NET Framework版本为.net 4.6.1. 曾经一段时间微软将下一代ASP.NET 命名为ASP.NET 5和MVC 6,在ASP.NET 5 is dead – Introducing ASP.NET

ASP.NET Core 1.0 开发记录

参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/first.html http://www.yuanjiaocheng.net/ASPNET-CORE/asp-net-core-overview.html http://www.yuanjiaocheng.net/ASPNET-CORE/asp.net-core-environment.html http://www.yuanjiaocheng.net/ASPNET-CORE/newproject.h

ASP.NET Core 1.0 基础与应用启动

.NET Core http://dotnet.github.io/[https://github.com/dotnet/coreclr] ASP.NET Core 1.0 https://get.asp.net/ Documentation:https://docs.asp.net/en/latest/index.html MVC:https://docs.asp.net/projects/mvc/en/latest/overview.html EF: http://docs.efprojec

ASP.NET Core 1.0 部署 HTTPS

ASP.NET Core 1.0 部署 HTTPS ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1) 提示 更新时间:2016年01月23日. 在目前介绍 ASP.NET Core 1.0 的中英文文章中,我没有找到关于部署HTTPS的, 究其原因,除了暂时无法跨平台外,就算是很少人有这个需求,但我还是决定写一下. 警告 目前( 1.0.0-rc1-update1 )仅支持完整版的dnx451,dnxcore5需要rc2的支持.目前只能运行在Win

ASP.NET Core 1.0 中使用Log日志

https://github.com/aspnet/Logging https://docs.asp.net/en/latest/fundamentals/logging.html ASP.NET Core 1.0提供了内置的日志模块,当然也可以使用自己喜爱日志框架. Providers Community projects adapt Microsoft.Extensions.Logging for use with different back-ends. Serilog - provide

ASP.NET Core 1.0 中使用 Swagger 生成文档

github:https://github.com/domaindrivendev/Ahoy 之前文章有介绍在ASP.NET WebAPI 中使用Swagger生成文档,ASP.NET Core 1.0中同样也支持. 依赖包 "dependencies": { "Swashbuckle.SwaggerGen": "6.0.0-rc1-final", "Swashbuckle.SwaggerUi": "6.0.0-rc

[转]Writing Custom Middleware in ASP.NET Core 1.0

本文转自:https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ One of the new features from ASP.NET Core 1.0 is the idea of Middleware. Middleware are components of an application that examine the requests responses coming in t