ZrAdminNetCore/Infrastructure/Startups/HostBuilderExtensions.cs
2021-08-24 13:59:07 +08:00

54 lines
1.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace Infrastructure.Startups
{
/// <summary>
/// Program.cs里面的HostBuilder扩展
/// </summary>
public static class HostBuilderExtensions
{
/// <summary>
/// Web 主机注入
/// </summary>
/// <param name="hostBuilder">Web主机构建器</param>
/// <param name="assemblyName">外部程序集名称如果HostingStartup存在多个程序集中可以使用;分隔,比如HostStartupLib;HostStartupLib2</param>
/// <returns>IWebHostBuilder</returns>
public static IWebHostBuilder Init(this IWebHostBuilder hostBuilder, string assemblyName)
{
hostBuilder.UseSetting(WebHostDefaults.HostingStartupAssembliesKey, assemblyName);
return hostBuilder;
}
/// <summary>
/// 初始化程序扩展
/// </summary>
/// <param name="builder"></param>
public static void UseAppStartup(this IWebHostBuilder hostBuilder)
{
// 自动装载配置
hostBuilder.ConfigureAppConfiguration((hostingContext, config) =>
{
// 存储环境对象
InternalApp.HostEnvironment = (IHostEnvironment)hostingContext.HostingEnvironment;
// 加载配置
//InternalApp.AddConfigureFiles(config, InternalApp.WebHostEnvironment);
});
// 自动注入 AddApp() 服务
hostBuilder.ConfigureServices((services) =>
{
// 注册 Startup 过滤器
//services.AddTransient<IStartupFilter, StartupFilter>();
// 添加全局配置和存储服务提供器
InternalApp.InternalServices = services;
// 初始化应用服务
//services.AddApp();
});
}
}
}