ASP.NET 5 依赖注入 - 激活属性在哪里?
ASP.NET 5 Dependency Injection - Where is the Activate Attribute?
ScottGu showed vNext 中的一项功能,可以像这样使用激活属性:
public class HomeController : Controller
{
[Activate]
public TimeService TimeService { get; set; }
}
我使用的是 beta-8,我似乎找不到这个属性,它被删除了吗?
找到了...更改为 [FromService]
除了在您的属性上使用重命名的 [FromServices]
注释外,您还可以利用构造函数注入:
public class HomeController : Controller
{
private TimeService _timeService;
public HomeController(TimeService timeService)
{
_timeService = timeService;
}
}
我更喜欢这种方法,因为 ASP.NET 5 如果找不到 TimeService
将无法构造 HomeController
,而不是稍后因 timeService
为 null
而失败].
ScottGu showed vNext 中的一项功能,可以像这样使用激活属性:
public class HomeController : Controller
{
[Activate]
public TimeService TimeService { get; set; }
}
我使用的是 beta-8,我似乎找不到这个属性,它被删除了吗?
找到了...更改为 [FromService]
除了在您的属性上使用重命名的 [FromServices]
注释外,您还可以利用构造函数注入:
public class HomeController : Controller
{
private TimeService _timeService;
public HomeController(TimeService timeService)
{
_timeService = timeService;
}
}
我更喜欢这种方法,因为 ASP.NET 5 如果找不到 TimeService
将无法构造 HomeController
,而不是稍后因 timeService
为 null
而失败].