1 // Assembly location: C:Program FilesdotnetsharedMicrosoft.AspNetCore.App3.1.1Microsoft.Extensions.Hosting.dll 2 3 using Microsoft.Extensions.Configuration; 4 using Microsoft.Extensions.DependencyInjection; 5 using Microsoft.Extensions.Logging; 6 using Microsoft.Extensions.Logging.EventLog; 7 using System; 8 using System.IO; 9 using System.Reflection; 10 using System.Runtime.InteropServices; 11 12 namespace Microsoft.Extensions.Hosting 13 { 14 public static class Host 15 { 16 public static IHostBuilder CreateDefaultBuilder() 17 { 18 return Host.CreateDefaultBuilder((string[]) null); 19 } 20 21 public static IHostBuilder CreateDefaultBuilder(string[] args) 22 { 23 HostBuilder hostBuilder = new HostBuilder(); 24 hostBuilder.UseContentRoot(Directory.GetCurrentDirectory()); 25 hostBuilder.ConfigureHostConfiguration((Action<IConfigurationBuilder>) (config => 26 { 27 config.AddEnvironmentVariables("DOTNET_"); 28 if (args == null) 29 return; 30 config.AddCommandLine(args); 31 })); 32 hostBuilder.ConfigureAppConfiguration((Action<HostBuilderContext, IConfigurationBuilder>) ((hostingContext, config) => 33 { 34 IHostEnvironment hostingEnvironment = hostingContext.HostingEnvironment; 35 config.AddJsonFile("appsettings.json", true, true).AddJsonFile("appsettings." + hostingEnvironment.EnvironmentName + ".json", true, true); 36 if (hostingEnvironment.IsDevelopment() && !string.IsNullOrEmpty(hostingEnvironment.ApplicationName)) 37 { 38 Assembly assembly = Assembly.Load(new AssemblyName(hostingEnvironment.ApplicationName)); 39 if (assembly != (Assembly) null) 40 config.AddUserSecrets(assembly, true); 41 } 42 config.AddEnvironmentVariables(); 43 if (args == null) 44 return; 45 config.AddCommandLine(args); 46 })).ConfigureLogging((Action<HostBuilderContext, ILoggingBuilder>) ((hostingContext, logging) => 47 { 48 int num = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? 1 : 0; 49 if (num != 0) 50 logging.AddFilter<EventLogLoggerProvider>((Func<LogLevel, bool>) (level => level >= LogLevel.Warning)); 51 logging.AddConfiguration((IConfiguration) hostingContext.Configuration.GetSection("Logging")); 52 logging.AddConsole(); 53 logging.AddDebug(); 54 logging.AddEventSourceLogger(); 55 if (num == 0) 56 return; 57 logging.AddEventLog(); 58 })).UseDefaultServiceProvider((Action<HostBuilderContext, ServiceProviderOptions>) ((context, options) => 59 { 60 bool flag = context.HostingEnvironment.IsDevelopment(); 61 options.ValidateScopes = flag; 62 options.ValidateOnBuild = flag; 63 })); 64 return (IHostBuilder) hostBuilder; 65 } 66 } 67 }