Sử dụng asp.net 5 beta-8, tôi có một cái gì đó như thế này đăng ký dưới dạng một dịch vụ:ASP.NET 5 Dependency Injection - Thuộc tính [FromServices] chỉ hoạt động trong bộ điều khiển?
services.AddTransient<IMyClass, MyClass>();
Khi tôi sử dụng thuộc tính này trên một tài sản trong một bộ điều khiển, myClass
được thiết lập để thể hiện của các IMyClass
.
public class HomeController : Controller
{
[FromServices]
public IMyClass myClass { get; set; }
public IActionResult Index()
{
//myClass is good
return View();
}
}
Tuy nhiên, khi tôi cố gắng sử dụng nó trong một lớp học mà không kế thừa Controller
, nó dường như không thiết lập các myClass
tài sản cho một thể hiện của IMyClass
:
public class MyService
{
[FromServices]
public IMyClass myClass { get; set; }
public void DoSomething(){
//myClass is null
}
}
Đây có phải là hành vi mong đợi? Làm thế nào để tiêm phụ thuộc của tôi trong một lớp học bình thường?
'[FromServices]' không còn được hỗ trợ trên thuộc tính. – Keith