|
21 | 21 | using Microsoft.Extensions.DependencyInjection; |
22 | 22 | using Microsoft.Extensions.Logging; |
23 | 23 |
|
24 | | -try |
| 24 | +internal class Program |
25 | 25 | { |
26 | | - ServiceCollection services = new(); |
27 | | - ConfigureServices(services); |
28 | | - var serviceProvider = services.BuildServiceProvider(); |
| 26 | + private static async Task<int> Main(string[] args) |
| 27 | + { |
| 28 | + try |
| 29 | + { |
| 30 | + ServiceCollection services = new(); |
| 31 | + ConfigureServices(services); |
29 | 32 |
|
30 | | - var commandFactory = serviceProvider.GetRequiredService<CommandFactory>(); |
31 | | - var rootCommand = commandFactory.RootCommand; |
| 33 | + services.AddLogging(builder => |
| 34 | + { |
| 35 | + builder.AddConsole(); |
| 36 | + builder.SetMinimumLevel(LogLevel.Information); |
| 37 | + }); |
32 | 38 |
|
33 | | - return await rootCommand.InvokeAsync(args); |
34 | | -} |
35 | | -catch (Exception ex) |
36 | | -{ |
37 | | - CommandResponse response = new() |
38 | | - { |
39 | | - Status = 500, |
40 | | - Message = ex.Message, |
41 | | - Duration = 0 |
42 | | - }; |
| 39 | + var serviceProvider = services.BuildServiceProvider(); |
| 40 | + var commandFactory = serviceProvider.GetRequiredService<CommandFactory>(); |
| 41 | + var rootCommand = commandFactory.RootCommand; |
43 | 42 |
|
44 | | - Console.WriteLine(JsonSerializer.Serialize(response, ModelsJsonContext.Default.CommandResponse)); |
45 | | - return 1; |
46 | | -} |
| 43 | + return await rootCommand.InvokeAsync(args); |
| 44 | + } |
| 45 | + catch (Exception ex) |
| 46 | + { |
| 47 | + CommandResponse response = new() |
| 48 | + { |
| 49 | + Status = 500, |
| 50 | + Message = ex.Message, |
| 51 | + Duration = 0 |
| 52 | + }; |
47 | 53 |
|
48 | | -static void ConfigureServices(IServiceCollection services) |
49 | | -{ |
50 | | - services.ConfigureOpenTelemetry(); |
51 | | - services.AddMemoryCache(); |
52 | | - services.AddLogging(builder => |
| 54 | + Console.WriteLine(JsonSerializer.Serialize(response, ModelsJsonContext.Default.CommandResponse)); |
| 55 | + return 1; |
| 56 | + } |
| 57 | + } |
| 58 | + |
| 59 | + internal static void ConfigureServices(IServiceCollection services) |
53 | 60 | { |
54 | | - builder.AddConsole(); |
55 | | - builder.SetMinimumLevel(LogLevel.Information); |
56 | | - }); |
57 | | - services.AddSingleton<ICacheService, CacheService>(); |
58 | | - services.AddSingleton<IExternalProcessService, ExternalProcessService>(); |
59 | | - services.AddSingleton<ISubscriptionService, SubscriptionService>(); |
60 | | - services.AddSingleton<ITenantService, TenantService>(); |
61 | | - services.AddSingleton<ICosmosService, CosmosService>(); |
62 | | - services.AddSingleton<IStorageService, StorageService>(); |
63 | | - services.AddSingleton<IMonitorService, MonitorService>(); |
64 | | - services.AddSingleton<IResourceGroupService, ResourceGroupService>(); |
65 | | - services.AddSingleton<IAppConfigService, AppConfigService>(); |
66 | | - services.AddSingleton<ISearchService, SearchService>(); |
67 | | - services.AddSingleton<CommandFactory>(); |
| 61 | + services.ConfigureOpenTelemetry(); |
| 62 | + services.AddMemoryCache(); |
| 63 | + services.AddSingleton<ICacheService, CacheService>(); |
| 64 | + services.AddSingleton<IExternalProcessService, ExternalProcessService>(); |
| 65 | + services.AddSingleton<ISubscriptionService, SubscriptionService>(); |
| 66 | + services.AddSingleton<ITenantService, TenantService>(); |
| 67 | + services.AddSingleton<ICosmosService, CosmosService>(); |
| 68 | + services.AddSingleton<IStorageService, StorageService>(); |
| 69 | + services.AddSingleton<IMonitorService, MonitorService>(); |
| 70 | + services.AddSingleton<IResourceGroupService, ResourceGroupService>(); |
| 71 | + services.AddSingleton<IAppConfigService, AppConfigService>(); |
| 72 | + services.AddSingleton<ISearchService, SearchService>(); |
| 73 | + services.AddSingleton<CommandFactory>(); |
| 74 | + } |
68 | 75 | } |
0 commit comments