使用asp.net 5 beta-8,我有这样的东西注册为服务:
services.AddTransient<IMyClass, MyClass>();
Run Code Online (Sandbox Code Playgroud)
当我在控制器中的属性上使用此属性时,myClass将设置为该实例IMyClass.
public class HomeController : Controller
{
[FromServices]
public IMyClass myClass { get; set; }
public IActionResult Index()
{
//myClass is good
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在不继承的类中使用它时Controller,它似乎没有将myClass属性设置为以下实例IMyClass:
public class MyService
{
[FromServices]
public IMyClass myClass { get; set; }
public void DoSomething(){
//myClass is null
}
}
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?如何在常规类中注入依赖项?