BotSharp/BotSharp.WebHost/Program.cs

60 lines
2 KiB
C#
Raw Normal View History

2018-08-28 21:45:56 +00:00
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
2020-09-07 10:17:58 +00:00
using Microsoft.Extensions.Hosting;
2018-08-28 21:45:56 +00:00
using System;
using System.IO;
using System.Linq;
namespace BotSharp.WebHost
{
public class Program
{
public static void Main(string[] args)
{
2020-09-07 10:17:58 +00:00
CreateHostBuilder(args).Build().Run();
2018-08-28 21:45:56 +00:00
}
2018-09-13 21:52:19 +00:00
2020-09-07 10:17:58 +00:00
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webHost =>
{
webHost
.ConfigureAppConfiguration((hostingContext, config) =>
2018-09-13 21:52:19 +00:00
{
2020-09-07 10:17:58 +00:00
var env = hostingContext.HostingEnvironment;
string dir = Path.GetFullPath(env.ContentRootPath);
string settingsFolder = Path.Combine(dir, "Settings");
2018-09-13 21:52:19 +00:00
2020-09-07 10:17:58 +00:00
// locate setting folder
if (!Directory.Exists(settingsFolder))
{
dir = Path.GetFullPath(env.ContentRootPath + "/..");
}
2018-10-02 16:46:24 +00:00
2020-09-07 10:17:58 +00:00
settingsFolder = Path.Combine(dir, "Settings");
2018-10-02 16:46:24 +00:00
2020-09-07 10:17:58 +00:00
if (!Directory.Exists(settingsFolder))
{
dir = Path.GetFullPath(env.ContentRootPath + "/bin");
}
2018-10-02 16:46:24 +00:00
2020-09-07 10:17:58 +00:00
settingsFolder = Path.Combine(dir, "Settings");
2018-10-02 16:46:24 +00:00
2020-09-07 10:17:58 +00:00
Console.WriteLine($"Read settings from {settingsFolder}");
var settings = Directory.GetFiles(settingsFolder, "*.json");
settings.ToList().ForEach(setting =>
{
config.AddJsonFile(setting, optional: false, reloadOnChange: true);
});
})
.UseUrls("http://0.0.0.0:3112")
.UseStartup<Startup>();
});
}
2018-08-28 21:45:56 +00:00
}
}