仅使用RegisterAggregateService未注册Autofac.Extras.NLog.ILogger时出错

时间:2014-12-09 15:29:57

标签: autofac

仅当注册ILogger位于RegisterAggregateService

内时才会收到错误
[ComponentNotRegisteredException: The requested service 'Autofac.Extras.NLog.ILogger' has not been registered. To avoid this exception, either register a component to provide the service, check for service registration using IsRegistered(), or use the ResolveOptional() method to resolve an optional dependency.]
   Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters) +304
   Autofac.Extras.AggregateService.ResolvingInterceptor.SetupInvocationMap(Type interfaceType) +527
   Autofac.Extras.AggregateService.AggregateServiceGenerator.CreateInstance(Type interfaceType, IComponentContext context) +99
   Autofac.Builder.<>c__DisplayClass1`1.<ForDelegate>b__0(IComponentContext c, IEnumerable`1 p) +15
   Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) +32
   Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters) +86
   Autofac.Core.Resolving.InstanceLookup.Execute() +62
   Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters) +170
   Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate() +124
   Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) +266
   Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters) +86
   Autofac.Core.Resolving.InstanceLookup.Execute() +62
   Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters) +170
   Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters) +109
   Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance) +124
   Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable`1 parameters) +70
   Autofac.ResolutionExtensions.ResolveOptional(IComponentContext context, Type serviceType) +122
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +59
builder.RegisterModule<NLogModule>();
builder.RegisterModule(new AutofacWebTypesModule());
builder.RegisterAggregateService<ImportController.IImportControllerDep>();

2 个答案:

答案 0 :(得分:4)

使用来自Autofac.Extras.NLog的ILogger - 而不是来自NLog

答案 1 :(得分:0)

使用flutter: assets: - lib/img_package/example.png 从服务定位器解析 https://github.com/ziyasal/Autofac.Extras.NLog#register-simplenlogmodule-to-autofac

SimpleNLogModule

相关问题