Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 43 additions & 38 deletions SecurityService/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ public class Program
public static IHostBuilder CreateHostBuilder(String[] args)
{
//At this stage, we only need our hosting file for ip and ports
FileInfo fi = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
IConfigurationRoot config = new ConfigurationBuilder().SetBasePath(fi.Directory.FullName).AddJsonFile("hosting.json", optional:false)
.AddJsonFile("hosting.development.json", optional:true).AddEnvironmentVariables().Build();

String contentRoot = Directory.GetCurrentDirectory();
String nlogConfigPath = Path.Combine(contentRoot, "nlog.config");

Expand All @@ -61,45 +57,54 @@ public static IHostBuilder CreateHostBuilder(String[] args)
hostBuilder.ConfigureLogging(logging => {
logging.AddConsole();
logging.AddNLog();

});

ConfigureWeb(hostBuilder);

return hostBuilder;
}

private static void ConfigureWeb(IHostBuilder hostBuilder) {
FileInfo fi = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);
IConfigurationRoot config = new ConfigurationBuilder().SetBasePath(fi.Directory.FullName).AddJsonFile("hosting.json", optional: false)
.AddJsonFile("hosting.development.json", optional: true).AddEnvironmentVariables().Build();

hostBuilder.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureServices(services =>
{
services.AddRazorPages();
{
webBuilder.UseStartup<Startup>();
webBuilder.ConfigureServices(services =>
{
services.AddRazorPages();

// This is important, the call to AddControllers()
// cannot be made before the usage of ConfigureWebHostDefaults
services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;
options.SerializerSettings.Formatting = Formatting.Indented;
options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}); ;
});
webBuilder.UseConfiguration(config);
webBuilder.UseKestrel(options =>
{
var urls = config.GetSection("urls").Value.Split(":");
var port = Int32.Parse(urls[2]);
// This is important, the call to AddControllers()
// cannot be made before the usage of ConfigureWebHostDefaults
services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto;
options.SerializerSettings.Formatting = Formatting.Indented;
options.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}); ;
});
webBuilder.UseConfiguration(config);
webBuilder.UseKestrel(options =>
{
var urls = config.GetSection("urls").Value.Split(":");
var port = Int32.Parse(urls[2]);

options.Listen(IPAddress.Any,
port,
listenOptions =>
{
// Enable support for HTTP1 and HTTP2 (required if you want to host gRPC endpoints)
listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
// Configure Kestrel to use a certificate from a local .PFX file for hosting HTTPS
listenOptions.UseHttps(Program.LoadCertificate(fi.Directory.FullName));
});
});
options.Listen(IPAddress.Any,
port,
listenOptions =>
{
// Enable support for HTTP1 and HTTP2 (required if you want to host gRPC endpoints)
listenOptions.Protocols = HttpProtocols.Http1AndHttp2;
// Configure Kestrel to use a certificate from a local .PFX file for hosting HTTPS
listenOptions.UseHttps(Program.LoadCertificate(fi.Directory.FullName));
});
});

});
return hostBuilder;
});
}

private static X509Certificate2 LoadCertificate(String path)
Expand Down
Loading