-1
我繼承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);
}
}
當我執行這個方法時,person對象在BaseController類仍然爲空。我應該改變什麼來初始化抽象類中的對象?
我猜你正在'Initialize'裏面'person = new PersonModel()'的行做些什麼。這根本不起作用。你需要它來*返回一個人模型,或者(一個醜陋的解決方法),使用'ref'。 – Rob
你正在使用哪個依賴框架? – ArunGeorge
@ArunGeorge Autofac – dev999