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", "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); return Json(result.Errors);
//https://github.com/aspnet/WebFx/issues/289 //https://github.com/aspnet/WebFx/issues/289
AddErrors(result); //AddErrors(result);
} }
} }

View File

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

View File

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

View File

@ -30,6 +30,13 @@ public class Startup
{ {
app.UseServices(services => 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.AddInstance<ILoggerFactory>(new NullLoggerFactory());
services.AddMvc(); services.AddMvc();
#if NET45 #if NET45
@ -87,12 +94,7 @@ public class Startup
private async void CreateAdminUser(IServiceProvider serviceProvider) private async void CreateAdminUser(IServiceProvider serviceProvider)
{ {
var applicationEnvironment = serviceProvider.GetService<IApplicationEnvironment>(); var configuration = serviceProvider.GetService<IConfiguration>();
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 userName = configuration.Get("DefaultAdminUsername"); var userName = configuration.Get("DefaultAdminUsername");
var password = configuration.Get("DefaultAdminPassword"); var password = configuration.Get("DefaultAdminPassword");
const string adminRole = "Administrator"; const string adminRole = "Administrator";