小编Tov*_*ich的帖子

C# - .NET 6 - 使用通用主机与不使用通用主机的控制台应用程序

我正在使用 .NET 6 中的新顶级语句来创建一个简单的控制台应用程序,但我不了解使用“通用主机”的优点/缺点。你可以解释吗?

我的通用主机代码:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

Console.WriteLine("Hello, World!");

using var host = Host.CreateDefaultBuilder(args)
    .ConfigureServices((_, services) =>
    {
        services.AddTransient<ITestInterface, TestClass>();
    })
    .Build();

Test();
Console.ReadKey();

void Test()
{
    var testClass = host.Services.GetRequiredService<ITestInterface>();
    testClass.TestMethod();
}
Run Code Online (Sandbox Code Playgroud)

相对

using Microsoft.Extensions.DependencyInjection;

Console.WriteLine("Hello, World!");

var services = new ServiceCollection();
services.AddTransient<ITestInterface, TestClass>();
var servicesProvider = services.BuildServiceProvider();

Test();
Console.ReadKey();

void Test()
{
    var testClass = servicesProvider.GetRequiredService<ITestInterface>();
    testClass.TestMethod();
}
Run Code Online (Sandbox Code Playgroud)

c# console-application .net-core

27
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net-core ×1

c# ×1

console-application ×1