Pregunta

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

Actualmente el código anterior funcionará bien si la interfaz son también en el mismo conjunto, pero va a explotar si IUserRepository es de un montaje diferente.

Es el registro automático de dos conjuntos diferentes posibles? Me estoy perdiendo algo aquí?

¿Fue útil?

Solución

Sí, es posible definir un registro automático en la interfaz se define en un montaje diferente. Lo hacemos, aunque utilizamos una sintaxis ligeramente diferente:

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

No puedo decir si el diferente uso de la API hace una diferencia, pero yo supongo que no lo hace. Más bien, yo supongo que la causa del error experimenta es que tal vez el conjunto que contiene la interfaz no está disponible.

Comprobar si la fusión puede cargar el tipo de aplicación que en absoluto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top