我正在尝试使用新的ASP.NET 5
依赖注入系统,但它似乎仅限于从Controller
继承的类的仅构造函数。
还有其他方法可以注射东西吗?属性?什么?这是如此严重的限制,让我在几天内进行了砖砌。
答案 0 :(得分:1)
刚刚测试了这个(RC1 Update1),它也适用于其他类。 我写了一个小例子,首先是类型声明:
public interface IBaseServiceType { }
public interface IComposedServiceType
{
IBaseServiceType baseService { get; }
}
public class BaseServiceImplementation : IBaseServiceType { }
public class ComposedServiceImplementation : IComposedServiceType
{
public IBaseServiceType baseService { private set; get; }
public ComposedServiceImplementation(IBaseServiceType baseService)
{
this.baseService = baseService;
}
}
配置:
services.AddTransient(typeof(IBaseServiceType), typeof(BaseServiceImplementation));
services.AddTransient(typeof(IComposedServiceType), typeof(ComposedServiceImplementation));
并创建这样的实例,其中context
是您的HttpContext
:
var composedServiceInstance = context.ApplicationServices.GetService<IComposedServiceType>();
答案 1 :(得分:0)
将您的课程注册为服务,并像对待所有其他服务一样对待