1. Making configuration as a service to read configuration settings from various places in the app

2. Reversed the order of registration of Environment source & json source as the logic for source override changed.
3. Taking a snapshot of the latest packages.
This commit is contained in:
Praburaj 2014-04-23 15:16:58 -07:00
parent 93a2ab2352
commit 5bd052efaa
5 changed files with 47 additions and 37 deletions

View File

@ -1,4 +1,9 @@
{
"DefaultAdminUsername": "Administrator",
"DefaultAdminPassword": "YouShouldChangeThisPassword"
"DefaultAdminPassword": "YouShouldChangeThisPassword",
"Data": {
"DefaultConnection": {
"Connectionstring": "Server=(localdb)\\v11.0;Database=MusicStore;Trusted_Connection=True;"
}
}
}

View File

@ -103,7 +103,7 @@ namespace MusicStore.Controllers
{
return Json(result.Errors);
//https://github.com/aspnet/WebFx/issues/289
AddErrors(result);
//AddErrors(result);
}
}

View File

@ -1,36 +1,36 @@
{
"version": "0.1-alpha-*",
"dependencies": {
"Helios": "0.1-alpha-275",
"Microsoft.AspNet.Abstractions": "0.1-alpha-261",
"Microsoft.AspNet.Mvc": "0.1-alpha-629",
"Microsoft.AspNet.Razor": "0.1-alpha-181",
"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-176",
"Microsoft.AspNet.DependencyInjection": "0.1-alpha-252",
"Microsoft.AspNet.RequestContainer": "0.1-alpha-267",
"Microsoft.AspNet.Routing": "0.1-alpha-244",
"Microsoft.AspNet.Mvc.ModelBinding": "0.1-alpha-629",
"Microsoft.AspNet.Mvc.Core": "0.1-alpha-629",
"Microsoft.AspNet.Mvc.Razor": "0.1-alpha-629",
"Microsoft.AspNet.StaticFiles": "0.1-alpha-201",
"System.Security.Claims": "0.1-alpha-135",
"Helios": "0.1-alpha-330",
"Microsoft.AspNet.Abstractions": "0.1-alpha-291",
"Microsoft.AspNet.Mvc": "0.1-alpha-735",
"Microsoft.AspNet.Razor": "0.1-alpha-182",
"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-185",
"Microsoft.AspNet.DependencyInjection": "0.1-alpha-278",
"Microsoft.AspNet.RequestContainer": "0.1-alpha-320",
"Microsoft.AspNet.Routing": "0.1-alpha-303",
"Microsoft.AspNet.Mvc.ModelBinding": "0.1-alpha-735",
"Microsoft.AspNet.Mvc.Core": "0.1-alpha-735",
"Microsoft.AspNet.Mvc.Razor": "0.1-alpha-735",
"Microsoft.AspNet.StaticFiles": "0.1-alpha-237",
"System.Security.Claims": "0.1-alpha-160",
"System.Security.Principal": "4.0.0.0",
"Microsoft.AspNet.Security.DataProtection": "0.1-alpha-144",
"Microsoft.AspNet.Identity": "0.1-alpha-370",
"Microsoft.AspNet.Identity.Entity": "0.1-alpha-370",
"Microsoft.AspNet.Identity.InMemory": "0.1-alpha-370",
"Microsoft.AspNet.Identity.Security": "0.1-alpha-370",
"Microsoft.Data.Entity": "0.1-alpha-441",
"Microsoft.Data.Relational": "0.1-alpha-441",
"Microsoft.Data.SqlServer": "0.1-pre-419",
"Microsoft.Data.InMemory": "0.1-alpha-441",
"Microsoft.Data.Migrations": "0.1-alpha-441",
"Microsoft.AspNet.Diagnostics": "0.1-alpha-153",
"Microsoft.AspNet.Hosting": "0.1-alpha-267",
"Microsoft.AspNet.Server.WebListener": "0.1-alpha-210",
"Microsoft.AspNet.Configuration.Json": "0.1-alpha-176",
"Microsoft.AspNet.Security": "0.1-alpha-123",
"Microsoft.AspNet.Security.Cookies": "0.1-alpha-123",
"Microsoft.AspNet.Identity": "0.1-alpha-433",
"Microsoft.AspNet.Identity.Entity": "0.1-alpha-433",
"Microsoft.AspNet.Identity.InMemory": "0.1-alpha-433",
"Microsoft.AspNet.Identity.Security": "0.1-alpha-433",
"Microsoft.Data.Entity": "0.1-alpha-495",
"Microsoft.Data.Relational": "0.1-alpha-495",
"Microsoft.Data.SqlServer": "0.1-alpha-476",
"Microsoft.Data.InMemory": "0.1-alpha-495",
"Microsoft.Data.Migrations": "0.1-alpha-495",
"Microsoft.AspNet.Diagnostics": "0.1-alpha-220",
"Microsoft.AspNet.Hosting": "0.1-alpha-320",
"Microsoft.AspNet.Server.WebListener": "0.1-alpha-265",
"Microsoft.AspNet.ConfigurationModel.Json": "0.1-alpha-185",
"Microsoft.AspNet.Security": "0.1-alpha-192",
"Microsoft.AspNet.Security.Cookies": "0.1-alpha-192",
"Microsoft.AspNet.Logging": "0.1-alpha-159"
},
"configurations": {

View File

@ -3,6 +3,8 @@ using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Metadata;
using Microsoft.Data.InMemory;
using Microsoft.Data.SqlServer;
using Microsoft.AspNet.DependencyInjection;
using Microsoft.AspNet.ConfigurationModel;
namespace MusicStore.Models
{
@ -22,8 +24,9 @@ namespace MusicStore.Models
protected override void OnConfiguring(EntityConfigurationBuilder builder)
{
var configuration = builder.BuildConfiguration().Services.GetService<IConfiguration>();
#if NET45
builder.SqlServerConnectionString(@"Server=(localdb)\v11.0;Database=MusicStore;Trusted_Connection=True;");
builder.SqlServerConnectionString(configuration.Get("Data:DefaultConnection:ConnectionString"));
#else
builder.UseInMemoryStore(persist: true);
#endif

View File

@ -30,6 +30,13 @@ public class Startup
{
app.UseServices(services =>
{
//Add configuration as a service
var applicationEnvironment = app.ApplicationServices.GetService<IApplicationEnvironment>();
var configuration = new Configuration();
configuration.AddJsonFile(Path.Combine(applicationEnvironment.ApplicationBasePath, "Config.json"));
configuration.AddEnvironmentVariables(); //If configuration flows through environment we should pick that first
services.AddInstance<IConfiguration>(configuration);
services.AddInstance<ILoggerFactory>(new NullLoggerFactory());
services.AddMvc();
#if NET45
@ -87,12 +94,7 @@ public class Startup
private async void CreateAdminUser(IServiceProvider serviceProvider)
{
var applicationEnvironment = serviceProvider.GetService<IApplicationEnvironment>();
var configuration = new Configuration();
configuration.AddEnvironmentVariables(); //If configuration flows through environment we should pick that first
configuration.AddJsonFile(Path.Combine(applicationEnvironment.ApplicationBasePath, "Config.json"));
var configuration = serviceProvider.GetService<IConfiguration>();
var userName = configuration.Get("DefaultAdminUsername");
var password = configuration.Get("DefaultAdminPassword");
const string adminRole = "Administrator";