仅当注册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>();
答案 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