Browse Source

use file-scoped namespacing for console template

pull/10696/head
Ahmet Çotur 4 years ago
parent
commit
7f7d883287
  1. 11
      templates/console/src/MyCompanyName.MyProjectName/HelloWorldService.cs
  2. 61
      templates/console/src/MyCompanyName.MyProjectName/MyProjectNameHostedService.cs
  3. 22
      templates/console/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs
  4. 77
      templates/console/src/MyCompanyName.MyProjectName/Program.cs

11
templates/console/src/MyCompanyName.MyProjectName/HelloWorldService.cs

@ -1,13 +1,12 @@
using System;
using Volo.Abp.DependencyInjection;
namespace MyCompanyName.MyProjectName
namespace MyCompanyName.MyProjectName;
public class HelloWorldService : ITransientDependency
{
public class HelloWorldService : ITransientDependency
public void SayHello()
{
public void SayHello()
{
Console.WriteLine("\tHello World!");
}
Console.WriteLine("\tHello World!");
}
}

61
templates/console/src/MyCompanyName.MyProjectName/MyProjectNameHostedService.cs

@ -4,38 +4,37 @@ using System.Threading.Tasks;
using Microsoft.Extensions.Hosting;
using Volo.Abp;
namespace MyCompanyName.MyProjectName
namespace MyCompanyName.MyProjectName;
public class MyProjectNameHostedService : IHostedService
{
public class MyProjectNameHostedService : IHostedService
private readonly IAbpApplicationWithExternalServiceProvider _application;
private readonly IServiceProvider _serviceProvider;
private readonly HelloWorldService _helloWorldService;
public MyProjectNameHostedService(
IAbpApplicationWithExternalServiceProvider application,
IServiceProvider serviceProvider,
HelloWorldService helloWorldService)
{
_application = application;
_serviceProvider = serviceProvider;
_helloWorldService = helloWorldService;
}
public Task StartAsync(CancellationToken cancellationToken)
{
private readonly IAbpApplicationWithExternalServiceProvider _application;
private readonly IServiceProvider _serviceProvider;
private readonly HelloWorldService _helloWorldService;
public MyProjectNameHostedService(
IAbpApplicationWithExternalServiceProvider application,
IServiceProvider serviceProvider,
HelloWorldService helloWorldService)
{
_application = application;
_serviceProvider = serviceProvider;
_helloWorldService = helloWorldService;
}
public Task StartAsync(CancellationToken cancellationToken)
{
_application.Initialize(_serviceProvider);
_helloWorldService.SayHello();
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken)
{
_application.Shutdown();
return Task.CompletedTask;
}
_application.Initialize(_serviceProvider);
_helloWorldService.SayHello();
return Task.CompletedTask;
}
public Task StopAsync(CancellationToken cancellationToken)
{
_application.Shutdown();
return Task.CompletedTask;
}
}

22
templates/console/src/MyCompanyName.MyProjectName/MyProjectNameModule.cs

@ -3,20 +3,18 @@ using Microsoft.Extensions.Hosting;
using Volo.Abp.Autofac;
using Volo.Abp.Modularity;
namespace MyCompanyName.MyProjectName
{
namespace MyCompanyName.MyProjectName;
[DependsOn(
typeof(AbpAutofacModule)
)]
public class MyProjectNameModule : AbpModule
[DependsOn(
typeof(AbpAutofacModule)
)]
public class MyProjectNameModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var hostEnvironment = context.Services.GetSingletonInstance<IHostEnvironment>();
var configuration = context.Services.GetConfiguration();
var hostEnvironment = context.Services.GetSingletonInstance<IHostEnvironment>();
context.Services.AddHostedService<MyProjectNameHostedService>();
}
context.Services.AddHostedService<MyProjectNameHostedService>();
}
}

77
templates/console/src/MyCompanyName.MyProjectName/Program.cs

@ -6,53 +6,52 @@ using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Events;
namespace MyCompanyName.MyProjectName
namespace MyCompanyName.MyProjectName;
public class Program
{
public class Program
public static async Task<int> Main(string[] args)
{
public static async Task<int> Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
Log.Logger = new LoggerConfiguration()
#if DEBUG
.MinimumLevel.Debug()
.MinimumLevel.Debug()
#else
.MinimumLevel.Information()
.MinimumLevel.Information()
#endif
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt"))
.WriteTo.Async(c => c.Console())
.CreateLogger();
try
{
Log.Information("Starting console host.");
await CreateHostBuilder(args).RunConsoleAsync();
return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly!");
return 1;
}
finally
{
Log.CloseAndFlush();
}
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt"))
.WriteTo.Async(c => c.Console())
.CreateLogger();
try
{
Log.Information("Starting console host.");
await CreateHostBuilder(args).RunConsoleAsync();
return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly!");
return 1;
}
finally
{
Log.CloseAndFlush();
}
internal static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAutofac()
.UseSerilog()
.ConfigureAppConfiguration((context, config) =>
{
}
internal static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseAutofac()
.UseSerilog()
.ConfigureAppConfiguration((context, config) =>
{
//setup your additional configuration sources
})
.ConfigureServices((hostContext, services) =>
{
services.AddApplication<MyProjectNameModule>();
});
}
.ConfigureServices((hostContext, services) =>
{
services.AddApplication<MyProjectNameModule>();
});
}

Loading…
Cancel
Save