使用依赖注入初始化抽象类对象



我继承了ApiController,下面是我覆盖的带有依赖注入的ExecuteAsync方法,

public abstract class BaseController : ApiController
{
private IMyService _myService;
public PersonModel person;
protected BaseController(IMyService myService)
{
_myService = myService;
}
public override Task<HttpResponseMessage> ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)
{
_myService.Initialize(person);
}
}

这是我的服务接口,

public interface IMyService 
{
HttpResponseMessage Initialize(PersonModel person);
}

这是类,

public class MyService : IMyService
{
public HttpResponseMessage Initialize(PersonModel person)
{
//Initializing person model from db
return new HttpResponseMessage(HttpStatusCode.OK);
}
}

当我执行此方法时,BaseController 类中的 person 对象仍然为 null。我应该更改什么来初始化抽象类中的对象?

请检查此线程以查看这是否回答了您的问题 - 向 Autofac 注册基类的实现以通过 IEnumerable 传入

您必须适当地注册抽象类的子类。

最新更新