Skip to content

Commit e90dda2

Browse files
authored
Update to netstandard2.0 and Microsoft.Extensions.Configuration2.0. (#32)
1 parent 305c2b0 commit e90dda2

7 files changed

Lines changed: 41 additions & 46 deletions

File tree

src/Winton.Extensions.Configuration.Consul/Winton.Extensions.Configuration.Consul.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<PackageVersion>$(NuGetVersion)</PackageVersion>
1818
<RepositoryType>git</RepositoryType>
1919
<RepositoryUrl>https://github.com/wintoncode/Winton.Extensions.Configuration.Consul</RepositoryUrl>
20-
<TargetFrameworks>netstandard1.3</TargetFrameworks>
20+
<TargetFrameworks>netstandard2.0</TargetFrameworks>
2121
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
2222
<WriteVersionInfoToBuildLog>False</WriteVersionInfoToBuildLog>
2323
</PropertyGroup>
@@ -33,7 +33,7 @@
3333
<ItemGroup>
3434
<PackageReference Include="Consul" Version="0.7.2.3" />
3535
<PackageReference Include="GitVersionTask" Version="4.0.0-beta0011" PrivateAssets="All" />
36-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="1.0.2" />
36+
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.0" />
3737
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
3838
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="All" />
3939
</ItemGroup>

test/Website/Controllers/ConfigController.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using Microsoft.AspNetCore.Hosting;
21
using Microsoft.AspNetCore.Mvc;
32
using Microsoft.Extensions.Configuration;
43

@@ -7,13 +6,11 @@ namespace Winton.Extensions.Configuration.Consul.Website.Controllers
76
[Route("[controller]")]
87
public sealed class ConfigController : Controller
98
{
10-
private readonly IConfigurationRoot _configurationRoot;
11-
private readonly IHostingEnvironment _hostingEnvironment;
9+
private readonly IConfiguration _configurationRoot;
1210

13-
public ConfigController(IConfigurationRoot configuration, IHostingEnvironment hostingEnvironment)
11+
public ConfigController(IConfiguration configuration)
1412
{
1513
_configurationRoot = configuration;
16-
_hostingEnvironment = hostingEnvironment;
1714
}
1815

1916
[HttpGet("{key}")]

test/Website/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
FROM microsoft/dotnet:1.1.5-runtime
1+
FROM microsoft/aspnetcore:2.0.5
22

3-
COPY bin/Release/netcoreapp1.1/publish /app
3+
COPY bin/Release/netcoreapp2.0/publish /app
44
WORKDIR /app
55

66
EXPOSE 80/tcp

test/Website/IntegrationTests/run.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#! /bin/bash
22

3+
set -e
4+
35
pushd $( dirname $0 )
46

57
dotnet publish ../ --configuration Release

test/Website/Program.cs

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,40 @@
1-
using System.IO;
1+
using System;
2+
using System.Threading;
3+
using Microsoft.AspNetCore;
24
using Microsoft.AspNetCore.Hosting;
5+
using Microsoft.Extensions.Configuration;
36

47
namespace Winton.Extensions.Configuration.Consul.Website
58
{
69
public class Program
710
{
811
public static void Main(string[] args)
912
{
10-
IWebHost host = new WebHostBuilder()
11-
.UseKestrel()
12-
.UseContentRoot(Directory.GetCurrentDirectory())
13-
.UseIISIntegration()
13+
var cancellationTokenSource = new CancellationTokenSource();
14+
WebHost
15+
.CreateDefaultBuilder(args)
16+
.ConfigureAppConfiguration(
17+
(hostingContext, builder) =>
18+
{
19+
builder
20+
.AddConsul(
21+
"appsettings.json",
22+
cancellationTokenSource.Token,
23+
options =>
24+
{
25+
options.ConsulConfigurationOptions =
26+
cco => { cco.Address = new Uri("http://consul:8500"); };
27+
options.Optional = true;
28+
options.ReloadOnChange = true;
29+
options.OnLoadException = exceptionContext => { exceptionContext.Ignore = true; };
30+
})
31+
.AddEnvironmentVariables();
32+
})
1433
.UseStartup<Startup>()
15-
.Build();
34+
.Build()
35+
.Run();
1636

17-
host.Run();
37+
cancellationTokenSource.Cancel();
1838
}
1939
}
2040
}

test/Website/Startup.cs

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,27 @@
1-
using System;
2-
using System.Threading;
31
using Microsoft.AspNetCore.Builder;
42
using Microsoft.AspNetCore.Hosting;
53
using Microsoft.Extensions.Configuration;
64
using Microsoft.Extensions.DependencyInjection;
7-
using Microsoft.Extensions.Logging;
85
using Swashbuckle.AspNetCore.Swagger;
96

107
namespace Winton.Extensions.Configuration.Consul.Website
118
{
129
public class Startup
1310
{
14-
private readonly IConfigurationRoot _configuration;
15-
private readonly CancellationTokenSource _consulConfigCancellationTokenSource = new CancellationTokenSource();
11+
private readonly IConfiguration _configuration;
1612

17-
public Startup(IHostingEnvironment env, ILoggerFactory loggerFactory)
13+
public Startup(IConfiguration configuration)
1814
{
19-
loggerFactory
20-
.AddConsole(LogLevel.Debug)
21-
.AddDebug(LogLevel.Debug);
22-
23-
IConfigurationBuilder builder = new ConfigurationBuilder()
24-
.SetBasePath(env.ContentRootPath)
25-
.AddConsul(
26-
"appsettings.json",
27-
_consulConfigCancellationTokenSource.Token,
28-
options =>
29-
{
30-
options.ConsulConfigurationOptions = cco => { cco.Address = new Uri("http://consul:8500"); };
31-
options.Optional = true;
32-
options.ReloadOnChange = true;
33-
options.OnLoadException = exceptionContext => { exceptionContext.Ignore = true; };
34-
})
35-
.AddEnvironmentVariables();
36-
_configuration = builder.Build();
15+
_configuration = configuration;
3716
}
3817

3918
public void Configure(IApplicationBuilder app, IApplicationLifetime appLifetime)
4019
{
4120
app
21+
.UseDeveloperExceptionPage()
4222
.UseMvc()
4323
.UseSwagger()
4424
.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Test Website"); });
45-
46-
appLifetime.ApplicationStopping.Register(_consulConfigCancellationTokenSource.Cancel);
4725
}
4826

4927
public void ConfigureServices(IServiceCollection services)

test/Website/Website.csproj

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<GenerateDocumentationFile>False</GenerateDocumentationFile>
66
<NoWarn>$(NoWarn);SA0001;SA1101;SA1309;SA1413;SA1600;SA1633;SA1652</NoWarn>
77
<RootNamespace>Winton.Extensions.Configuration.Consul.Website</RootNamespace>
8-
<TargetFramework>netcoreapp1.1</TargetFramework>
8+
<TargetFramework>netcoreapp2.0</TargetFramework>
99
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
1010
</PropertyGroup>
1111

@@ -17,9 +17,7 @@
1717
<Folder Include="wwwroot\" />
1818
</ItemGroup>
1919
<ItemGroup>
20-
<PackageReference Include="Microsoft.AspNetCore" Version="1.1.5" />
21-
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.6" />
22-
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.1.2" />
20+
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" />
2321
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="All" />
2422
<PackageReference Include="Swashbuckle.AspNetCore" Version="1.1.0" />
2523
</ItemGroup>

0 commit comments

Comments
 (0)