using System; using System.Runtime; using Hncore.Infrastructure.Serializer; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; namespace Hncore.Infrastructure.WebApi { public static class HostingEnvironmentExtend { public static IConfigurationRoot UseAppsettings(this IHostingEnvironment env) { Console.WriteLine("环境:" + Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")); #if DEBUG Console.WriteLine("模式:DEBUG"); #endif #if RELEASE Console.WriteLine("模式:RELEASE"); #endif Console.WriteLine("GC模式:" + new { IsServerGC = GCSettings.IsServerGC, LargeObjectHeapCompactionMode = GCSettings.LargeObjectHeapCompactionMode.ToString(), LatencyMode = GCSettings.LatencyMode.ToString() }.ToJson(true)); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: false) .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: false) .AddEnvironmentVariables(); var config = builder.Build(); return config; } } }