DotNetCore 2.1 -> 2.0

Certificate
Kettel instead of IISExpress
This commit is contained in:
2018-10-06 02:05:00 +02:00
parent bb6b5ee4dd
commit a44cd1321a
11 changed files with 57 additions and 26 deletions

View File

@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
@@ -12,13 +14,30 @@ namespace LaDOSE.Api
{
public class Program
{
public static IConfiguration config { get; private set; }
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appSettings.json", optional: true, reloadOnChange: true)
.Build();
var certificateSettings = config.GetSection("certificateSettings");
string certificateFileName = certificateSettings.GetValue<string>("filename");
string certificatePassword = certificateSettings.GetValue<string>("password");
X509Certificate2 certificate = new X509Certificate2(certificateFileName, certificatePassword);
CreateWebHostBuilder(certificate,args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
public static IWebHostBuilder CreateWebHostBuilder(X509Certificate2 certificate, string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseConfiguration(config)
.UseKestrel(options => options.Listen(IPAddress.Loopback,int.Parse(config["Port"]),config=> config.UseHttps(certificate)))
.UseStartup<Startup>();
}
}
}