我如何在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();
}
}
}