[英]Autofac same injected instance not received when manually resolving an InstancePerRequest type
[英]Autofac not resolving injected property
我有一個動作過濾器屬性,該屬性具有需要由AutoFac注入的屬性。 因為它是一個動作過濾器屬性,所以我不能使用構造函數注入。
屬性:
private readonly ISocialAppUnitOfWork _socialAppUnitOfWork;
解決:
public SecurityActionFilter()
{
_socialAppUnitOfWork = DependencyResolver.Current.GetService <ISocialAppUnitOfWork>();
}
配置:
builder.RegisterType<SecurityActionFilter>().InstancePerHttpRequest();
DependencyResolver.SetResolver(new AutofacDependencyResolver(builder.Build()));
在構造函數中獲取服務后,_socialAppUnitOfWork屬性保持為null。
為什么它不能解決我的依賴性?
這達到了目的:
// Set this action filter for every controller and inject interface
builder.Register(c => new SecurityActionFilter(c.Resolve<ISocialAppUnitOfWork>()))
.AsActionFilterFor<Controller>().InstancePerHttpRequest();
// Register all the action filters
builder.RegisterFilterProvider();
嘗試使用:builder.RegisterType()。As()。InstancePerHttpRequest();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.