Внедрение зависимостей в основную рабочую службу ASP.NETC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Внедрение зависимостей в основную рабочую службу ASP.NET

Сообщение Anonymous »

Я столкнулся с некоторыми проблемами внедрения зависимостей в .NET Core Worker Service.
Смотрите приведенный ниже код в файле Program.cs.

< pre class="lang-cs Prettyprint-override">

Код: Выделить всё

public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsof)t", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.File(@"C:\MyApp_Log\Log.txt")
.CreateLogger();

try
{
Log.Information("Starting up the service.");
CreateHostBuilder(args).Build().Run();
return;
}
catch (Exception ex)
{
Log.Fatal(ex, "There was a problem starting the service");
return;
}
finally
{
Log.CloseAndFlush();
}

}
public static IHostBuilder CreateHostBuilder(string[] args)
{

return Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext, services) =>
{

services.AddScoped();

services.AddDbContext(options => options.UseSqlServer("Data Source=xx.xxx.xx.xxx;Database=Mydb;User ID = sa;Password=mypassword"));

services.AddHostedService();
})
.UseSerilog();
}
И см. ниже код для файла Worker.cs

Код: Выделить всё

private readonly ILogger _logger;
private readonly IMyAppCoreService _CoreService;

public Worker(ILogger logger, IMyAppCoreService CoreService)
{
_logger = logger;
_CoreService = CoreService;
}
public override Task StartAsync(CancellationToken cancellationToken)
{
_logger.LogInformation("The MyApp_CoreService has been Started...");
return base.StartAsync(cancellationToken);
}
public override Task StopAsync(CancellationToken cancellationToken)
{
_logger.LogInformation("The MyApp_CoreService has been stopped...");
return base.StopAsync(cancellationToken);
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
_CoreService.CheckAndProcessResult();
await Task.Delay(1000, stoppingToken);
}
}
Когда я запускаю приведенный выше запрос, я получаю приведенный ниже запрос.

Ошибка при проверке дескриптора службы < /p>


ServiceType: MyApp.CS.Business.Facade.IMyAppCoreService Время жизни: ограниченная область реализации Тип реализации: MyApp.CS.Business.Services.MyAppCoreService': невозможно разрешить службу для типа «MyApp.CS.Data.Facade.ICommonRepository» при попытке активировать «MyApp.CS.Business.Services.MyAppCoreService».


Можете ли вы сказать мне, где я сделал неправильно?

РЕДАКТИРОВАТЬ: После того, как я зарегистрировал весь интерфейс с его классом. затем я получил новую ошибку следующим образом.


Ошибка при проверке дескриптора службы 'ServiceType: Microsoft.Extensions.Hosting.IHostedService Lifetime: Singleton ImplementationType : MyApp_CoreService.Worker': невозможно использовать ограниченную службу "MyApp.CS.Business.Facade.IMyAppCoreService" из одноэлементного "Microsoft.Extensions.Hosting.IHostedService".


Подробнее здесь: https://stackoverflow.com/questions/620 ... er-service
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Serilog в рабочую службу .NET 8
    Anonymous » » в форуме C#
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • Внедрение зависимостей: внедрение IEnumerable> универсальных интерфейсов.
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Внедрение зависимостей: внедрение IEnumerable> универсальных интерфейсов.
    Anonymous » » в форуме C#
    0 Ответы
    70 Просмотры
    Последнее сообщение Anonymous
  • Внедрение зависимостей в фоновую службу Android Maui
    Anonymous » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Внедрение зависимостей в фоновую службу Android Maui
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»