Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AbstractProgram.cs 1.02 KiB
using Coscine.Configuration;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using System.IO;
namespace Coscine.ApiCommons
{
public abstract class AbstractProgram<T> where T : IConfiguration, new()
{
public static IConfiguration Configuration = new T();
public static void InitializeWebService<ST>() where ST : AbstractStartup, new()
{
var configurator = new Configurator(Configuration);
configurator.Register();
ST startup = new ST();
startup.SetBasePath(configurator.ApplicationInformation);
var host = new WebHostBuilder()
.ConfigureServices(services =>
{
services.AddSingleton(startup);
})
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseUrls($"http://[::]:{configurator.ApplicationInformation.Port}")
.UseStartup<ST>()
.Build();
host.Run();
}
}
}