Fehler "Abhängigkeiten von Rundfunkkomponenten von Autofac erkannt"

Ich bin neu in IoC und benutze Autofac in meinem aktuellen Projekt.

Ich habe die folgenden 2 Klassen:

public class UserService : IUserService
{
    private readonly IUserRepository _repo;
    private readonly IMailService _mailService;
    public UserService(IUserRepository repo, IMailService mailService)
    {
        _repo = repo;
        _mailService = mailService;
    }
}

public class MailService : IMailService
{
    private readonly IMailRepository _repo;
    private readonly IUserService _userService;
    public MailService(IMailRepository repo, IUserService userService)
    {
        _repo = repo;
        _userService = userService;
    }
}

Ursprünglich benötigte meine UserService-Klasse keine Instanz der MailService-Klasse, aber jetzt ist dies der Fall. Seit der Einführung in den UserService-Konstruktor ist dieser zirkuläre Abhängigkeitsfehler aufgetreten, und ich bin mir als Neuling nicht sicher, wie Beheben Sie dieses Problem.

So werden meine Kurse derzeit in Autofac registriert:

var builder = new ContainerBuilder();

// controllers                      
builder.RegisterControllers(Assembly.GetAssembly(typeof(UsersController)));

// register other classes
builder.RegisterType<UserRepository>().As<IUserRepository>();
builder.RegisterType<MailRepository>().As<IMailRepository>();
builder.RegisterType<UserService>().As<IUserService>();
builder.RegisterType<MailService>().As<IMailService>();

Antworten auf die Frage(2)

Ihre Antwort auf die Frage