.netcore 从 main 调用服务

public class Program

{

    public static void Main(string[] args)

    {

        var host = CreateHostBuilder(args).Build();

 

        using (var serviceScope = host.Services.CreateScope())

        {

            var services = serviceScope.ServiceProvider;

 

            try

            {

                var myDependency = services.GetRequiredService<IMyDependency>();

                myDependency.WriteMessage("Call services from main");

            }

            catch (Exception ex)

            {

                var logger = services.GetRequiredService<ILogger<Program>>();

                logger.LogError(ex, "An error occurred.");

            }

        }

 

        host.Run();

    }

 

    public static IHostBuilder CreateHostBuilder(string[] args) =>

        Host.CreateDefaultBuilder(args)

            .ConfigureWebHostDefaults(webBuilder =>

            {

                webBuilder.UseStartup<Startup>();

            });

}

publicclassProgram { public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var serviceScope = host.Services.CreateScope()) { var services = serviceScope.ServiceProvider; try { var myDependency = services.GetRequiredService<IMyDependency>(); myDependency.WriteMessage("Call services from main"); } catch (Exception ex) { var logger = services.GetRequiredService<ILogger<Program>>(); logger.LogError(ex, "An error occurred."); } } host.Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); }

posted @ 2021-05-21 10:56  北极星下落不明  阅读(111)  评论(0)    收藏  举报