ASP.NET Core 2.0 Preview 1 中贴心的新特性

栏目: ASP.NET · 发布时间: 7年前

内容简介:ASP.NET Core 2.0 Preview 1 中贴心的新特性

西雅图时间5月10日,微软在 Build 2017 大会上发布了 ASP.NET Core 2.0 Preview 1 ( 详见 Announcing ASP.NET 2.0.0-Preview1 and Updates for .NET Web Developers )。

以下是我关注的、并且经过自己实际验证的贴心的新特性:

1)Microsoft.AspNetCore.All —— 1包携10包,省力又省心

使用 ASP.NET Core 2.0 只需要安装一个 NuGet 组合包 —— Microsoft.AspNetCore.All,发布时会自动排除没有用到的包。

ASP.NET Core 2.0 Preview 1 中贴心的新特性

2)WebHost.CreateDefaultBuilder() —— 1行替10行,配置更简洁

ASP.NET Core 2.0 中的 Prgram.cs :

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}

上面的 1 行 WebHost.CreateDefaultBuilder(args) 取代了 ASP.NET Core 1.x 中的 10+ 行代码(Program.cs + Startup.cs)。

ASP.NET Core 1.x 中的 Program.cs :

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

ASP.NET Core 1.x 中的 Startup.cs:

public class Startup
{
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
            .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
            .AddEnvironmentVariables();
        Configuration = builder.Build();
    }

    public IConfigurationRoot Configuration { get; }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();            
    }
}

对应的 ASP.NET Core 2.0 中的 Startup.cs :

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
    }
}

3)LoggerFactory.AddFilter(IDictionary filter) 

ASP.NET Core 2.0 中通过代码配置日志过滤(Program.cs):

public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureLogging(factory =>
            {
                factory.UseConfiguration(null);
                factory.AddFilter(
                    new Dictionary<string, LogLevel>
                    {
                        { "Micrsoft",  LogLevel.Debug }
                    });
                factory.AddConsole();
            })
            .UseStartup<Startup>()
            .Build();
}

ASP.NET Core 1.x 中(Startup.cs):

loggerFactory.WithFilter(new FilterLoggerSettings
{
    { "Microsoft", LogLevel.Debug }
});

4)appsettings.json 中日志配置的变化

ASP.NET Core 2.0 中的日志配置如下,可直接在配置文件中根据 logging provider 配置对应的日志级别:

{
  "Logging": {
    "IncludeScopes": false,
    "Debug": {
      "LogLevel": {
        "Default": "Warning"
      }
    },
    "Console": {
      "LogLevel": {
        "Default": "Warning"
      }
    }
  }
}

ASP.NET Core 1.x 中除了在配置文件中进行配置,还需要在代码中进行配置。

appsettings.json

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

Startup.cs

loggerFactory.AddConsole(Configuration.GetSection("Logging"));

以上所述就是小编给大家介绍的《ASP.NET Core 2.0 Preview 1 中贴心的新特性》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的职业素养

程序员的职业素养

Robert C.Martin / 章显洲、余晟 / 人民邮电出版社 / 2012-9-1 / 49.00元

本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。 本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。一起来看看 《程序员的职业素养》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码