NewGaoKaoApi/New_College.Api/Program.cs

64 lines
2.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System.IO;
namespace New_College
{
public class Program
{
/// <summary>
/// 加载配置文件构建IConfigurationRoot
/// </summary>
private static readonly IConfigurationBuilder ConfigurationBuilder = new ConfigurationBuilder();
/// <summary>
/// 获取配置文件中的内容继承自IConfiguration
/// </summary>
private static IConfigurationRoot _configuration;
public static void Main(string[] args)
{
_configuration = ConfigurationBuilder
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile(cfg =>
{
cfg.Path = "appsettings.json";
cfg.ReloadOnChange = true;
cfg.Optional = false;
})
//Build方法的调用要在AddJsonFile之后否则生成的IConfigurationRoot实例的
//Providers属性不包含任何元素而导致无法读取文件中的信息
.Build();
var url = _configuration.GetSection("urls");
//初始化默认主机Builder
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder
.UseStartup<Startup>()
.UseUrls(url.Value)
.ConfigureLogging((hostingContext, builder) =>
{
//过滤掉系统默认的一些日志
builder.AddFilter("System", LogLevel.Error);
builder.AddFilter("Microsoft", LogLevel.Error);
builder.AddFilter("New_College.AuthHelper.ApiResponseHandler", LogLevel.Error);
//可配置文件
var path = Path.Combine(Directory.GetCurrentDirectory(), "Log4net.config");
builder.AddLog4Net(path);
});
})
// 生成承载 web 应用程序的 Microsoft.AspNetCore.Hosting.IWebHost。Build是WebHostBuilder最终的目的将返回一个构造的WebHost最终生成宿主。
.Build()
// 运行 web 应用程序并阻止调用线程, 直到主机关闭。
// ※※※※ 有异常,查看 Log 文件夹下的异常日志 ※※※※
.Run();
}
}
}