.NET Core 控制台应用程序依赖注入设置

3

我如何在DI中添加更多的服务?目前只有ConvertService被DI使用,当我尝试添加另一个服务时:

services.AddTransient<Authorization>();

这没有任何效果,我无法将 DI 授权服务传递给其他类。如果要添加更多服务到 DI 中,应该如何处理?此外,我只能将 IHttpCLient 注入到 ConvertService 中。

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.IO;
using System.Threading.Tasks;

namespace ProtocolConvert
{
    class Program
    {
       private static IConfigurationRoot Configuration { get; set; }
        static async Task Main(string[] args)
        {

            IConfigurationBuilder builder = new ConfigurationBuilder()

            .AddJsonFile("appsettings.json")
            .AddEnvironmentVariables();
            Configuration = builder.Build();

            var host = Host.CreateDefaultBuilder()
                .ConfigureServices((context, services) =>
                {
                    services.AddHttpClient("GitHub", httpClient =>
                     {
                         httpClient.BaseAddress = new Uri(Configuration.GetSection("tokenUrl").Value);
                         httpClient.DefaultRequestHeaders.Add(
                              "X-API-ID", Configuration.GetSection("X-API-ID").Value);
                         httpClient.DefaultRequestHeaders.Add(
                             "X-API-SECRET", Configuration.GetSection("X-API-SECRET").Value);
                     });
                   
                    services.AddTransient<ConvertService>();
                 
                }).Build();

            var svc = ActivatorUtilities.CreateInstance<ConvertService>(host.Services);
          
            await svc.ConvertToCsv();
        }
       


    }
}
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接