如何在 ASPNETCORE 3 中创建通用 Host class 扩展方法,这是一种好的做法吗?
How to and is good practice to create generic Host class extension methods in ASPNETCORE 3?
在典型的 aspnet 核心应用程序中。
以Program.cs
为例
var host = new HostBuilder()
.Build();
await host.RunAsync();
如果我们希望使用扩展方法扩展 HostBuilder 功能,我们必须如何声明,就像在 netcore <2.2 中使用 "CreateDefaultBuilder()" 和 IWebHost 一样。
创建 IHostBuilder 扩展方法。
开始使用静态方法创建静态 class (public)
导入到要使用该方法的客户端。
声明如下:
public static class MyHostHostBuilderExtension
{
public static IHostBuilder CreateMyBuilder(this IHostBuilder hostBuilder)
[...]
在 Program.cs 中使用 HostBuilder() 实例。
var host = new HostBuilder().CreateMyBuilder().Build();
如果您使用静态主机 class,请注意。无法延期。
在典型的 aspnet 核心应用程序中。 以Program.cs
为例var host = new HostBuilder()
.Build();
await host.RunAsync();
如果我们希望使用扩展方法扩展 HostBuilder 功能,我们必须如何声明,就像在 netcore <2.2 中使用 "CreateDefaultBuilder()" 和 IWebHost 一样。
创建 IHostBuilder 扩展方法。
开始使用静态方法创建静态 class (public) 导入到要使用该方法的客户端。
声明如下:
public static class MyHostHostBuilderExtension
{
public static IHostBuilder CreateMyBuilder(this IHostBuilder hostBuilder)
[...]
在 Program.cs 中使用 HostBuilder() 实例。
var host = new HostBuilder().CreateMyBuilder().Build();
如果您使用静态主机 class,请注意。无法延期。