我開始了一個新的ASP.NET MVC項目,並且使用Ninject作爲我的IOC控制器。ASP.NET Web API和Ninject不工作
至於常規的MVC控制器去 - 一切工作正常,並按預期方式綁定到控制器構造函數。
我已經爲我的項目添加了一個WEB API,並做了幾乎相同的事情。這裏是API構造:
public class DetailsController : ApiController
{
private IClientInfoRetriever _clientInfoRetriever;
public DetailsController(IClientInfoRetriever clientInfoRetriever)
{
_clientInfoRetriever = clientInfoRetriever;
}
.
.
.
// The rest of my methods
}
這裏是Ninject綁定:
Bind<IClientInfoRetriever>().To<ClientInfoRetriever>();
,但是當我嘗試訪問我的API(只把URL在瀏覽器中的取得動作)我得到的以下錯誤:
嘗試創建類型爲'DetailsController'的控制器時發生錯誤。確保控制器有一個無參數的公共構造函數。
它期望得到一個空的構造函數,但如果我給它一個空構造函數使用 - 它不會初始化我需要的對象。
我在做什麼錯? Ninject是否支持web api?
感謝
讀http://www.strathweb.com/2012/05/using-ninject-with-the-latest-asp -net-web-api-source/ – Mate
這篇文章是在web apis仍處於測試版和預發行版時編寫的 - 它甚至還是相關的嗎? – developer82
也許ninject有一個web api集成包,至少autofac有一個 – MikeSW