Autofac Exception Summary Autofac异常汇总

2021-10-20 15:42:51.740 +08:00 [ERR] 
System.ObjectDisposedException: Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it (or one of its parent scopes) has already been disposed.
   at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest request)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)

这个是asp.net mvc遇到的情况,可以在Global.asax.cs里面注入的时候,设置

 var container = builder.Build();
 DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

然后在controller里面开启新线程的时候,

 var resolver = (AutofacDependencyResolver)DependencyResolver.Current;
using (var scope = resolver.ApplicationContainer.BeginLifetimeScope(MatchingScopeLifetimeTags.RequestLifetimeScopeTag))

{

var instance = scope.Resolve<ISomeInterface>();

}

 

 

2021-10-20 17:10:37.854 +08:00 [ERR] 
System.InvalidOperationException: The request lifetime scope cannot be created because the HttpContext is not available.
   at Autofac.Integration.Mvc.RequestLifetimeScopeProvider.GetLifetimeScope(Action`1 configurationAction)
   at Autofac.Integration.Mvc.AutofacDependencyResolver.GetService(Type serviceType)
   at System.Web.Mvc.DependencyResolverExtensions.GetService[TService](IDependencyResolver resolver)

 

 

2021-10-20 17:19:21.393 +08:00 [ERR] [DynamicProfileService.Insert] Error.Instances cannot be resolved and nested lifetimes cannot be created from this LifetimeScope as it (or one of its parent scopes) has already been disposed.
   at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent(ResolveRequest request)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)

 

posted @ 2021-10-20 17:25  ChuckLu  阅读(406)  评论(0编辑  收藏  举报