1
- using System ;
1
+ using System ;
2
2
using System . IO ;
3
+ using Microsoft . AspNetCore ;
3
4
using Microsoft . AspNetCore . Hosting ;
4
5
using Microsoft . Extensions . Configuration ;
5
6
using Serilog ;
@@ -8,16 +9,18 @@ namespace SimpleWebSample
8
9
{
9
10
public class Program
10
11
{
12
+ public static IConfiguration Configuration { get ; } = new ConfigurationBuilder ( )
13
+ . SetBasePath ( Directory . GetCurrentDirectory ( ) )
14
+ . AddJsonFile ( "appsettings.json" , optional : false , reloadOnChange : true )
15
+ . AddJsonFile ( $ "appsettings.{ Environment . GetEnvironmentVariable ( "ASPNETCORE_ENVIRONMENT" ) ?? "Production" } .json", optional : true )
16
+ . AddEnvironmentVariables ( )
17
+ . Build ( ) ;
18
+
11
19
public static int Main ( string [ ] args )
12
20
{
13
- var configuration = new ConfigurationBuilder ( )
14
- . SetBasePath ( Directory . GetCurrentDirectory ( ) )
15
- . AddJsonFile ( "appsettings.json" , optional : false , reloadOnChange : true )
16
- . AddJsonFile ( $ "appsettings.{ Environment . GetEnvironmentVariable ( "ASPNETCORE_ENVIRONMENT" ) ?? "Production" } .json", optional : true )
17
- . Build ( ) ;
18
21
19
22
Log . Logger = new LoggerConfiguration ( )
20
- . ReadFrom . Configuration ( configuration )
23
+ . ReadFrom . Configuration ( Configuration )
21
24
. Enrich . FromLogContext ( )
22
25
. WriteTo . Console ( )
23
26
. CreateLogger ( ) ;
@@ -26,16 +29,7 @@ public static int Main(string[] args)
26
29
{
27
30
Log . Information ( "Getting the motors running..." ) ;
28
31
29
- var host = new WebHostBuilder ( )
30
- . UseKestrel ( )
31
- . UseContentRoot ( Directory . GetCurrentDirectory ( ) )
32
- . UseIISIntegration ( )
33
- . UseStartup < Startup > ( )
34
- . UseConfiguration ( configuration )
35
- . UseSerilog ( )
36
- . Build ( ) ;
37
-
38
- host . Run ( ) ;
32
+ BuildWebHost ( args ) . Run ( ) ;
39
33
40
34
return 0 ;
41
35
}
@@ -49,5 +43,12 @@ public static int Main(string[] args)
49
43
Log . CloseAndFlush ( ) ;
50
44
}
51
45
}
46
+
47
+ public static IWebHost BuildWebHost ( string [ ] args ) =>
48
+ WebHost . CreateDefaultBuilder ( args )
49
+ . UseStartup < Startup > ( )
50
+ . UseConfiguration ( Configuration )
51
+ . UseSerilog ( )
52
+ . Build ( ) ;
52
53
}
53
54
}
0 commit comments