Question

    container.Register(
        AllTypes.Pick().FromAssembly(typeof (UserRepository).Assembly)
            .WithService.FirstInterface());

Actuellement, le code ci-dessus fonctionne bien si l'interface sont également dans le même ensemble mais il va exploser si IUserRepository est d'un autre assemblage.

L'inscription est automatique à partir de deux ensembles différents possibles? Est-ce que je manque quelque chose ici?

Était-ce utile?

La solution

Oui, il est possible de définir enregistrement automatique lorsque l'interface est définie dans un autre assemblage. Nous le faisons, même si nous utilisons une syntaxe légèrement différente:

container.Register(AllTypes
    .FromAssemblyContaining<ConfigurationService>()
    .Where(t => t.Name.EndsWith("Service", StringComparison.Ordinal))
    .WithService
    .FirstInterface()
    .Configure(reg => reg.LifeStyle.PerWebRequest));

Je ne peux pas dire si l'autre utilisation de l'API fait une différence, mais je suppose que cela ne fonctionne pas. Au contraire, je pense que la cause de l'erreur que vous rencontrez est que peut-être l'ensemble contenant l'interface est disponible.

Vérifier si Fusion peut charger le type de cette application à tous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top