64 lines
2.6 KiB
C#
64 lines
2.6 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|