Skip to content

Commit

Permalink
Upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
ZeeLyn committed Feb 21, 2019
1 parent a1160c3 commit 968aa57
Show file tree
Hide file tree
Showing 15 changed files with 482 additions and 296 deletions.
8 changes: 4 additions & 4 deletions Example/Example.csproj
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>

<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Autofac" Version="4.8.1" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.3.0" />
<PackageReference Include="Autofac" Version="4.9.1" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.3.1" />
<PackageReference Include="Consul" Version="0.7.2.6" />
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.2" />
</ItemGroup>

<ItemGroup>
Expand Down
45 changes: 18 additions & 27 deletions Example/Program.cs
Original file line number Diff line number Diff line change
@@ -1,36 +1,27 @@
using System;
using System.IO;
using Consul;
using System.IO;
using Extensions.Configuration.Consul;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;

namespace Example
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
ConsulConfigurationExtensions.Shutdown();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddCommandLine(args);
config.AddJsonFile("appsettings.json", false, true);
config.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", false, true);
config.AddConsul(new ConsulClientConfiguration
{
Address = new Uri("http://192.168.1.142:8500")
}, new ConsulQueryOptions
{
Prefix = "AppSetting/",
TrimPrefix = true
}, true);
}).UseStartup<Startup>();
}
WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddJsonFile("appsettings.json", false, true);
config.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", false, true);
//config.AddConsul("http://192.168.1.133:8500");
config.AddConsul(args);
config.AddCommandLine(args);
}).UseStartup<Startup>();
}
}
65 changes: 33 additions & 32 deletions Example/Startup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Consul;
using Extensions.Configuration.Consul;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Hosting.Server.Features;
Expand All @@ -17,41 +18,41 @@

namespace Example
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}

public IConfiguration Configuration { get; }
public IContainer ApplicationContainer { get; private set; }
public IConfiguration Configuration { get; }
public IContainer ApplicationContainer { get; private set; }


// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<Configs>(Configuration.GetSection("TestConfig"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<Configs>(Configuration.GetSection("TestConfig"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddConsulConfigurationCenter();
var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterType<LibClass>().InstancePerLifetimeScope();
builder.RegisterType<SingleClass>().SingleInstance();
ApplicationContainer = builder.Build();
return new AutofacServiceProvider(ApplicationContainer);
}

var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterType<LibClass>().InstancePerLifetimeScope();
builder.RegisterType<SingleClass>().SingleInstance();
ApplicationContainer = builder.Build();
return new AutofacServiceProvider(ApplicationContainer);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

app.UseMvc();
}
}
app.UseMvc();
}
}
}
2 changes: 1 addition & 1 deletion Example/appsettings.Development.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"Default": "Trace",
"System": "Information",
"Microsoft": "Information"
}
Expand Down
56 changes: 37 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,50 +6,68 @@ Package | NuGet
---------|------
Extensions.Configuration.Consul|[![NuGet package](https://buildstats.info/nuget/Extensions.Configuration.Consul)](https://www.nuget.org/packages/Extensions.Configuration.Consul)

# Usage

### Register

# Configuration

## Hardcoded configuration
```csharp
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
ConsulConfigurationExtensions.Shutdown();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) =>
{
config.AddConsul("http://127.0.0.1:8500");
}).UseStartup<Startup>();
}
```

## Command line configuration
Command | Describetion
---------|------
consul-configuration-addr|Consul agent address
consul-configuration-token|ACL Token HTTP API
consul-configuration-dc|Consul data center
consul-configuration-folder|Prefix of key



```csharp
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration((context, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddJsonFile("appsettings.json", false, true);
config.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", false, true);
config.AddConsul("http://192.168.1.142:8500", "", "AppSetting/", "dc1", true);
config.AddConsul(args);
}).UseStartup<Startup>();
}
```


## Reload when modified
```csharp
public IServiceProvider ConfigureServices(IServiceCollection services)
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

services.AddConsulConfigurationCenter();

services.AddOptions();
services.Configure<Configs>(Configuration.GetSection("TestConfig"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

var builder = new ContainerBuilder();
builder.Populate(services);
builder.RegisterType<LibClass>().InstancePerLifetimeScope();
builder.RegisterType<SingleClass>().SingleInstance();
ApplicationContainer = builder.Build();
return new AutofacServiceProvider(ApplicationContainer);

}
```


### InstancePerLifetimeScope
# Usage
## InstancePerLifetimeScope
```csharp
public class LibClass
{
Expand All @@ -66,7 +84,7 @@ Extensions.Configuration.Consul|[![NuGet package](https://buildstats.info/nuget/
}
```

### SingleInstance
## SingleInstance
```csharp
public class SingleClass
{
Expand Down
10 changes: 5 additions & 5 deletions src/Extensions.Configuration.Consul/ConsulAgentConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

namespace Extensions.Configuration.Consul
{
public class ConsulAgentConfiguration
{
public ConsulClientConfiguration ClientConfiguration { get; set; }
public class ConsulAgentConfiguration
{
public ConsulClientConfiguration ClientConfiguration { get; set; }

public ConsulQueryOptions QueryOptions { get; set; }
}
public ConsulQueryOptions QueryOptions { get; set; }
}
}

This file was deleted.

Loading

0 comments on commit 968aa57

Please sign in to comment.