В точке входа консольного приложения (которое создает конечную точку обмена сообщениями) я использовал ConfigureServices для регистрации зависимостей моего проекта (. NET core 3.1).
Есть ли способ создайте Startup.cs и переместите в него код DI, как мы это делаем для. NET Core API / веб-проекты?
static void Main(string[] args)
{
Console.WriteLine("Webjob is starting!");
var endpointConfiguration = new EndpointConfiguration(Assembly.GetExecutingAssembly().GetName().Name);
var host = new HostBuilder()
.ConfigureHost(() =>
{
var options = new ConfigurationOptions()
{
EndpointConfiguration = endpointConfiguration,
EndpointConfigurationService = new EndpointConfigurationService()
};
return options;
})
.ConfigureServices((context, services) =>
{
// Add AutoMapper for DTO operations
services.AddAutoMapper(typeof(MappingProfile));
//Add caching support
services.AddRedisCache();
services.BuildServiceProvider();
})
.Build();
var cancellationToken = new WebJobsShutdownWatcher().Token;
using (host)
{
host.RunAsync(cancellationToken)
.ConfigureAwait(false).GetAwaiter().GetResult();
}
}