Add `WebApplicationBuilderExtensions`.

pull/11074/head
maliming 4 years ago
parent addffe769e
commit efae4899ce
No known key found for this signature in database
GPG Key ID: 096224957E51C89E

@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Hosting;
public static class AbpWebAssemblyHostBuilderExtensions
{
public static async Task<IAbpApplicationWithExternalServiceProvider> AddApplicationAsync<TStartupModule>(
public async static Task<IAbpApplicationWithExternalServiceProvider> AddApplicationAsync<TStartupModule>(
[NotNull] this WebAssemblyHostBuilder builder,
Action<AbpWebAssemblyApplicationCreationOptions> options)
where TStartupModule : IAbpModule
@ -65,7 +65,7 @@ public static class AbpWebAssemblyHostBuilderExtensions
return application;
}
public static async Task InitializeAsync(
public async static Task InitializeAsync(
[NotNull] this IAbpApplicationWithExternalServiceProvider application,
[NotNull] IServiceProvider serviceProvider)
{
@ -80,7 +80,7 @@ public static class AbpWebAssemblyHostBuilderExtensions
await SetCurrentLanguageAsync(serviceProvider);
}
private static async Task InitializeModulesAsync(IServiceProvider serviceProvider)
private async static Task InitializeModulesAsync(IServiceProvider serviceProvider)
{
foreach (var service in serviceProvider.GetServices<IAsyncInitialize>())
{
@ -88,7 +88,7 @@ public static class AbpWebAssemblyHostBuilderExtensions
}
}
private static async Task SetCurrentLanguageAsync(IServiceProvider serviceProvider)
private async static Task SetCurrentLanguageAsync(IServiceProvider serviceProvider)
{
var configurationClient = serviceProvider.GetRequiredService<ICachedApplicationConfigurationClient>();
var utilsService = serviceProvider.GetRequiredService<IAbpUtilsService>();

@ -0,0 +1,35 @@
using System;
using System.Threading.Tasks;
using JetBrains.Annotations;
using Microsoft.AspNetCore.Builder;
using Volo.Abp;
using Volo.Abp.Modularity;
namespace Microsoft.Extensions.DependencyInjection;
public static class WebApplicationBuilderExtensions
{
public async static Task<IAbpApplicationWithExternalServiceProvider> AddApplicationAsync<TStartupModule>(
[NotNull] this WebApplicationBuilder builder,
[CanBeNull] Action<AbpApplicationCreationOptions> optionsAction = null)
where TStartupModule : IAbpModule
{
return await builder.Services.AddApplicationAsync<TStartupModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
optionsAction?.Invoke(options);
});
}
public async static Task<IAbpApplicationWithExternalServiceProvider> AddApplicationAsync(
[NotNull] this WebApplicationBuilder builder,
[NotNull] Type startupModuleType,
[CanBeNull] Action<AbpApplicationCreationOptions> optionsAction = null)
{
return await builder.Services.AddApplicationAsync(startupModuleType, options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
optionsAction?.Invoke(options);
});
}
}

@ -14,8 +14,8 @@ public static class AbpApplicationFactory
{
var app = Create(typeof(TStartupModule), options =>
{
optionsAction?.Invoke(options);
options.SkipConfigureServices = true;
optionsAction?.Invoke(options);
});
await app.ConfigureServicesAsync();
return app;
@ -27,8 +27,8 @@ public static class AbpApplicationFactory
{
var app = new AbpApplicationWithInternalServiceProvider(startupModuleType, options =>
{
optionsAction?.Invoke(options);
options.SkipConfigureServices = true;
optionsAction?.Invoke(options);
});
await app.ConfigureServicesAsync();
return app;
@ -41,8 +41,8 @@ public static class AbpApplicationFactory
{
var app = Create(typeof(TStartupModule), services, options =>
{
optionsAction?.Invoke(options);
options.SkipConfigureServices = true;
optionsAction?.Invoke(options);
});
await app.ConfigureServicesAsync();
return app;
@ -55,8 +55,8 @@ public static class AbpApplicationFactory
{
var app = new AbpApplicationWithExternalServiceProvider(startupModuleType, services, options =>
{
optionsAction?.Invoke(options);
options.SkipConfigureServices = true;
optionsAction?.Invoke(options);
});
await app.ConfigureServicesAsync();
return app;

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameBlazorModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameBlazorModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameBlazorModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameBlazorModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -22,25 +22,28 @@ public class DbMigratorHostedService : IHostedService
public async Task StartAsync(CancellationToken cancellationToken)
{
using (var application = AbpApplicationFactory.Create<MyProjectNameDbMigratorModule>(options =>
using (var application = await AbpApplicationFactory.CreateAsync<MyProjectNameDbMigratorModule>(options =>
{
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
options.Services.AddLogging(c => c.AddSerilog());
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
options.Services.AddLogging(c => c.AddSerilog());
}))
{
application.Initialize();
await application.InitializeAsync();
await application
.ServiceProvider
.GetRequiredService<MyProjectNameDbMigrationService>()
.MigrateAsync();
application.Shutdown();
await application.ShutdownAsync();
_hostApplicationLifetime.StopApplication();
}
}
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
public Task StopAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
}

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameHttpApiHostModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameHttpApiHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameHttpApiHostModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameHttpApiHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameIdentityServerModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameIdentityServerModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameWebModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameWebModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameWebModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameWebModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -18,20 +18,23 @@ public class ConsoleTestAppHostedService : IHostedService
public async Task StartAsync(CancellationToken cancellationToken)
{
using (var application = AbpApplicationFactory.Create<MyProjectNameConsoleApiClientModule>(options =>
using (var application = await AbpApplicationFactory.CreateAsync<MyProjectNameConsoleApiClientModule>(options =>
{
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
}))
{
application.Initialize();
await application.InitializeAsync();
var demo = application.ServiceProvider.GetRequiredService<ClientDemoService>();
await demo.RunAsync();
application.Shutdown();
await application.ShutdownAsync();
}
}
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
public Task StopAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
}

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameBlazorHostModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameBlazorHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameHttpApiHostModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameHttpApiHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -34,10 +34,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameIdentityServerModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameIdentityServerModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -37,10 +37,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameWebHostModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameWebHostModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -37,10 +37,7 @@ public class Program
builder.Host.AddAppSettingsSecretsJson()
.UseAutofac()
.UseSerilog();
await builder.Services.AddApplicationAsync<MyProjectNameWebUnifiedModule>(options =>
{
options.Services.ReplaceConfiguration(builder.Configuration);
});
await builder.AddApplicationAsync<MyProjectNameWebUnifiedModule>();
var app = builder.Build();
await app.InitializeApplicationAsync();
await app.RunAsync();

@ -18,20 +18,23 @@ public class ConsoleTestAppHostedService : IHostedService
public async Task StartAsync(CancellationToken cancellationToken)
{
using (var application = AbpApplicationFactory.Create<MyProjectNameConsoleApiClientModule>(options =>
using (var application = await AbpApplicationFactory.CreateAsync<MyProjectNameConsoleApiClientModule>(options =>
{
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
options.Services.ReplaceConfiguration(_configuration);
options.UseAutofac();
}))
{
application.Initialize();
await application.InitializeAsync();
var demo = application.ServiceProvider.GetRequiredService<ClientDemoService>();
await demo.RunAsync();
application.Shutdown();
await application.ShutdownAsync();
}
}
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
public Task StopAsync(CancellationToken cancellationToken)
{
return Task.CompletedTask;
}
}

Loading…
Cancel
Save