【问题标题】:ASP.NET 5 Dependency Injection - Where is the Activate Attribute?ASP.NET 5 依赖注入 - 激活属性在哪里?
【发布时间】:2016-02-05 16:33:16
【问题描述】:

ScottGu showed vNext 中的一个功能,可以像这样使用激活属性:

public class HomeController : Controller
{
    [Activate]
    public TimeService TimeService { get; set; }
}

我在 beta-8 上,我似乎找不到这个属性,它被删除了吗?

【问题讨论】:

    标签: dependency-injection asp.net-core asp.net-core-mvc


    【解决方案1】:

    除了在你的属性上使用重命名的[FromServices]注解,你还可以使用构造函数注入:

    public class HomeController : Controller
    {
        private TimeService _timeService;
    
        public HomeController(TimeService timeService)
        {
            _timeService = timeService;
        }
    }
    

    我更喜欢这种方法,因为如果 ASP.NET 5 找不到 TimeService,它将无法构造 HomeController,而不是稍后失败,timeService 是 null。

    【讨论】:

      【解决方案2】:

      找到了...更改为 [FromService]

      【讨论】:

      • 你可以顺便接受你自己的答案。这在 StackOverflow 中是允许的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      相关资源
      最近更新 更多