diff --git a/cli/Program.cs b/cli/Program.cs index 5085bec7..fc471b1a 100644 --- a/cli/Program.cs +++ b/cli/Program.cs @@ -3,22 +3,24 @@ using System; -using Microsoft.Extensions.Logging; using System.Runtime.Versioning; -using Microsoft.AspNet.Builder.Internal; -using Yavsc.Services; using Google.Apis.Util.Store; -using cli_2; -using Microsoft.Extensions.PlatformAbstractions; -using Microsoft.Extensions.DependencyInjection; +using Microsoft.AspNet.Builder.Internal; using Microsoft.AspNet.Hosting; -using Yavsc.Models; -using Microsoft.AspNet.Identity.EntityFramework; -using Microsoft.Extensions.OptionsModel; using Microsoft.AspNet.Hosting.Builder; - -using Yavsc; using Microsoft.AspNet.Hosting.Internal; +using Microsoft.AspNet.Server; + +using Microsoft.AspNet.Identity.EntityFramework; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.OptionsModel; +using Microsoft.Extensions.PlatformAbstractions; +using Yavsc; +using Yavsc.Models; + +using Yavsc.Services; +using cli_2; public class Program { @@ -26,14 +28,20 @@ public class Program private static Startup startup; public Program() - { + { + ConfigureServices(new ServiceCollection()); + } private void ConfigureServices(IServiceCollection services, string environmentName="Development") { IHostingEnvironment hosting = new HostingEnvironment{ EnvironmentName = environmentName }; + + services.Add(new ServiceDescriptor(typeof(IHostingEnvironment), hosting )); + + services.AddLogging(); services.AddOptions(); @@ -55,11 +63,11 @@ public class Program services.AddIdentity(); var basePath = AppDomain.CurrentDomain.BaseDirectory; - // FIXME null ref var appName = AppDomain.CurrentDomain.ApplicationIdentity.FullName; + // FIXME null ref var appName = AppDomain.CurrentDomain.ApplicationIdentity.FullName; - // var rtdcontext = new System.Runtime.DesignerServices.WindowsRuntimeDesignerContext (new string { "." }, "nonname"); + // var rtdcontext = new WindowsRuntimeDesignerContext (new string [] { "../Yavsc" }, "Yavsc"); + - serviceProvider = services.BuildServiceProvider(); var projectRoot = "/home/paul/workspace/yavsc/Yavsc"; @@ -75,23 +83,24 @@ public class Program // needs a logger factory ... var loggerFactory = serviceProvider .GetService() - .AddConsole(LogLevel.Debug); - - startup = new Startup (hosting, appEnv); - startup.ConfigureServices(services); + .AddConsole(LogLevel.Verbose); + startup = new Startup (hosting, appEnv); + ApplicationBuilderFactory applicationBuilderFactory = new ApplicationBuilderFactory(serviceProvider); var builder = applicationBuilderFactory.CreateBuilder(null); + + startup.ConfigureServices(services); - - IOptions siteSettings = serviceProvider.GetService(typeof(IOptions)) as IOptions; + builder.ApplicationServices = serviceProvider; + IOptions siteSettings = serviceProvider.GetService(typeof(IOptions)) as IOptions; IOptions smtpSettings = serviceProvider.GetService(typeof(IOptions)) as IOptions; - - startup.Configure(builder,siteSettings,smtpSettings); - + + startup.Configure(builder, loggerFactory, siteSettings, smtpSettings); + } diff --git a/cli/Startup.cs b/cli/Startup.cs index 177e3bc0..93ff0e4f 100644 --- a/cli/Startup.cs +++ b/cli/Startup.cs @@ -13,6 +13,8 @@ using Microsoft.Extensions.PlatformAbstractions; using System; using System.Threading; using Yavsc.Server.Helpers; +using Microsoft.Extensions.Logging; +using Microsoft.AspNet.Http; public class Startup { @@ -30,7 +32,9 @@ public class Startup public static SiteSettings SiteSetup { get; private set; } public static SmtpSettings SmtpSettup { get; private set; } public IConfigurationRoot Configuration { get; set; } - public string ConnectionString { get; private set; } + public string ConnectionString { + get { return DbHelpers.ConnectionString; } + private set { DbHelpers.ConnectionString = value; } } public static IdentityOptions AppIdentityOptions { get; private set; } public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) @@ -61,8 +65,7 @@ public class Startup // Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { - System.Console.WriteLine("Configuring services ..."); - + services.AddLogging(); var siteSettings = Configuration.GetSection("Site"); services.Configure(siteSettings); var smtpSettings = Configuration.GetSection("Smtp"); @@ -116,15 +119,18 @@ public class Startup // Use this method to configure the HTTP request pipeline. - public void Configure(IApplicationBuilder builder, IOptions siteSettingsOptions, IOptions smtpSettingsOptions) + public void Configure(IApplicationBuilder builder, ILoggerFactory loggerFactory, IOptions siteSettingsOptions, IOptions smtpSettingsOptions) { - System.Console.WriteLine("Configuring application ..."); + - app = builder.UseIdentity().UseMiddleware().Build(); + var logger = loggerFactory.CreateLogger(); + logger.LogInformation("Configuring application startup ..."); SiteSetup = siteSettingsOptions.Value; SmtpSettup = smtpSettingsOptions.Value; DbHelpers.ConnectionString = Configuration["Data:DefaultConnection:ConnectionString"]; + +logger.LogInformation("done"); } public void Main(string[] args) @@ -132,11 +138,8 @@ public class Startup var dbContext = new ApplicationDbContext(); foreach (var user in dbContext.Users) { Console.WriteLine($"UserName/{user.UserName} FullName/{user.FullName} Email/{user.Email} "); - } /**/ - + } } - - } diff --git a/cli/appsettings.json b/cli/appsettings.json index 54ceb803..5299e181 100644 --- a/cli/appsettings.json +++ b/cli/appsettings.json @@ -8,4 +8,4 @@ "FavIcon": "/favicon.ico", "Icon": "/images/yavsc.png" } -} \ No newline at end of file +} diff --git a/cli/project.json b/cli/project.json index aee05499..987c4d6f 100644 --- a/cli/project.json +++ b/cli/project.json @@ -1,7 +1,7 @@ { "version": "1.0.0-*", "commands": { - "run": "run" + "run": "cli" }, "resource": "Resources/**/*.resx", "buildOptions": {