Blame view

netcore/src/Infrastructure/NCC/App/Extensions/HostBuilderExtensions.cs 1.44 KB
de2bd2f9   “wangming”   项目初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  using NCC;
  using NCC.Dependency;
  using NCC.Reflection;
  using Microsoft.AspNetCore.Hosting;
  
  namespace Microsoft.Extensions.Hosting
  {
      /// <summary>
      /// 主机构建器拓展类
      /// </summary>
      [SuppressSniffer]
      public static class HostBuilderExtensions
      {
          /// <summary>
          /// Web 主机注入
          /// </summary>
          /// <param name="hostBuilder">Web主机构建器</param>
          /// <param name="assemblyName">外部程序集名称</param>
          /// <returns>IWebHostBuilder</returns>
          public static IWebHostBuilder Inject(this IWebHostBuilder hostBuilder, string assemblyName = default)
          {
              var frameworkPackageName = assemblyName ?? Reflect.GetAssemblyName(typeof(HostBuilderExtensions));
              hostBuilder.UseSetting(WebHostDefaults.HostingStartupAssembliesKey, frameworkPackageName);
  
              return hostBuilder;
          }
  
          /// <summary>
          /// 泛型主机注入
          /// </summary>
          /// <param name="hostBuilder">泛型主机注入构建器</param>
          /// <param name="autoRegisterBackgroundService">是否自动注册 BackgroundService</param>
          /// <returns>IWebHostBuilder</returns>
          public static IHostBuilder Inject(this IHostBuilder hostBuilder, bool autoRegisterBackgroundService = true)
          {
              InternalApp.ConfigureApplication(hostBuilder, autoRegisterBackgroundService);
  
              return hostBuilder;
          }
      }
  }