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
|
|
|
|
}
|
|
|
|
|
|
}
|