Der Dienst für den Typ Microsoft.Extensions.Logging.ILogger konnte nicht aufgelöst werdenC#

Ein Treffpunkt für C#-Programmierer
Guest
 Der Dienst für den Typ Microsoft.Extensions.Logging.ILogger konnte nicht aufgelöst werden

Post by Guest »

Ich erstelle eine eigenständige Anwendung, die sich in ein anderes Projekt einbindet, um Elemente einzureichen, die letztendlich in eine Datenbank eingefügt werden Anruf). Wenn ich den betreffenden Befehl über Mediatr aufrufe, erhalte ich den folgenden Fehler: < /p>

Es kann den Dienst für Typ
'microsoft.extensions nicht beheben. Protokollierung.ilogger

Code: Select all

1[TransactionBehavior
2[SubmitItemCommand,SubmitItemCommandResponse]]'
beim Versuch,
'TransactionBehavior`2[SubmitItemCommand,SubmitItemCommandResponse]' zu aktivieren.

Ich habe eine Start-up-Klasse in meiner Bewerbung, die so aussieht:

Code: Select all

public ServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMediatR(typeof(Startup));

services.AddTransient(typeof(IPipelineBehavior), typeof(TransactionBehavior));

...

return services.BuildServiceProvider();
}
und der betreffende Befehl ist unten:

Code: Select all

public class TransactionBehavior : IPipelineBehavior where TRequest : Command
{
private readonly ILogger _logger;

public TransactionBehavior(ILogger logger)
{
_logger = logger ?? throw new ArgumentException(nameof(logger));
}

public async Task Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate next)
{
try
{
...
}
catch (Exception ex)
{
_logger.LogError(ex, "Error handling transaction for {CommandName} ({@Command})", request.GetType().Name, request);

throw;
}
}
}
< /code>
Ich habe eine Reihe von Lösungen ausprobiert, darunter das Hinzufügen eines Elements zur Dienstekonfiguration für Iloogger. Wenn ich das tue, erhalte ich jedoch den Fehler von: < /p>
< Blockquote>
kann den Implementierungstyp
'microsoft.extensions.logging.ilogger nicht instanziieren1[TransactionBehavior
2[SubmitItemCommand,SubmitItemCommandResponse]]'
für Diensttyp
'Microsoft.Extensions.Logging.ILogger

Code: Select all

1[TransactionBehavior
2[SubmitItemCommand,SubmitItemCommandResponse]]'

.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post