Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

374
Vistas
Autofac Ninguno de los constructores encontrados con 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'

Ninguno de los constructores encontrados con 'Autofac.Core.Activators.Reflection.DefaultConstructorFinder' en el tipo 'LMS.Services.Security.EncryptionService' se puede invocar con los servicios y parámetros disponibles: No se puede resolver el parámetro 'LMS.Models.SecuritySettings securitySettings' de constructor 'Void .ctor(LMS.Models.SecuritySettings)'

Aquí están los archivos de código.

Clase de servicio

 public class EncryptionService : IEncryptionService { private readonly SecuritySettings _securitySettings; public EncryptionService(SecuritySettings securitySettings) { this._securitySettings = securitySettings; } }

Arrancador

 private static void SetAutofacContainer() { var builder = new ContainerBuilder(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerRequest(); builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>().InstancePerRequest(); builder.RegisterAssemblyTypes(typeof(CourseRepository).Assembly) .Where(t => t.Name.EndsWith("Repository")) .AsImplementedInterfaces() .InstancePerRequest(); builder.RegisterAssemblyTypes(typeof(CourseService).Assembly) .Where(t => t.Name.EndsWith("Service")) .AsImplementedInterfaces() .InstancePerRequest(); builder.RegisterFilterProvider(); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }

Estaba funcionando antes. Pero cuando presenté la implementación de EncryptionService , recibo el error anterior. Aquí está la otra implementación del código de trabajo de la siguiente manera

 public class CourseService : ICourseService { #region Fields private readonly IRepository<Course> _courseRepository; private readonly IUnitOfWork _unitOfWork; #endregion #region ctor public CourseService(IRepository<Course> courseRepository, IUnitOfWork unitOfWork) { _courseRepository = courseRepository; _unitOfWork = unitOfWork; } #endregion }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Cuando Autofac intenta resolver EncryptionService , intenta resolver un servicio de configuración de SecuritySettings , pero Autofac no tiene conocimiento de dicho registro.

Para resolver este error, debe registrar una implementación de SecuritySettings .

Por ejemplo :

 builder.RegisterType<SecuritySettings>() .As<SecuritySettings>();
over 4 years ago · Santiago Trujillo Denunciar

0

en mi caso no he registrado el contexto. Registré el contexto y funcionó para mí.

 builder.RegisterType<JComDbEntities>().AsSelf().As<DbContext>().InstancePerLifetimeScope();
over 4 years ago · Santiago Trujillo Denunciar

0

También puede ajustar el comportamiento de Autofac para que funcione como lo anticipó originalmente [y alinearlo con los valores predeterminados de algunos otros contenedores] agregando AnyConcreteTypeNotAlreadyRegisteredSource (consulte los documentos para Fuentes ):

 var builder = new ContainerBuilder(); builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());

Utilicé este esquema junto con fábricas de delegados y tipos de relación implícitos para eliminar prácticamente el registro explícito de un conjunto de aplicaciones, pero como parece que se ha ido por el camino del registro explícito (calendario: P), le recomiendo buscar en Google AnyConcreteTypeNotAlreadyRegisteredSource para ver si un esquema más amplio puede ajustarse mejor a lo que está buscando.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda