我想實現一個簡單的依賴關係(在ASP.NET核心)Asp.net核心DI爲這樣:具有上下文
public partial class BaseController : Controller
{
public new ITempDataDictionary TempData { get; private set; }
public override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
//preparação da tempdata
this.TempData = new TempDataDictionary(HttpContext); //todo: DI?
this.TempData.Load();
}
}
}
的問題是事實TempDataDictionary
取決於HttpContext
目前的在這個控制器中。 如何在DI中實現該場景,因爲ServiceLocator
在啓動時不知道HttpContext
?
這樣?
services.AddScoped(); // ??????
但是,如果我填寫構造函數參數HttpContext
,如果這只是在控制器?
防止讓你的應用程序組件採取的直接依賴'HttpContext',如所描述的[這裏]( https://stackoverflow.com/questions/30055268/how-to-get-microsoft-aspnet-http-httpcontext-instance-in-class-constructor-using/30057522#30057522) – Steven