2014-01-26 2 views
1

새 ASP.NET MVC 프로젝트가 시작되었으며 IinController로 Ninject를 사용하고 있습니다.ASP.NET 웹 API 및 Ninject가 작동하지 않습니다.

일반 MVC 컨트롤러가 작동하는 한 모든 것이 잘 작동하고 예상대로 컨트롤러 작성자에게 바인딩이 수행됩니다.

내 프로젝트에 WEB API를 추가했으며 거의 ​​동일한 작업을 수행했습니다. 여기 API 생성자입니다 :

Bind<IClientInfoRetriever>().To<ClientInfoRetriever>(); 

을하지만 난 내 API에 액세스하려고 할 때 내가 얻을 (단지 가져 오기 조치를 브라우저에 URL을 넣어) :

여기
public class DetailsController : ApiController 
{ 
    private IClientInfoRetriever _clientInfoRetriever; 

    public DetailsController(IClientInfoRetriever clientInfoRetriever) 
    { 
     _clientInfoRetriever = clientInfoRetriever; 
    } 

    . 
    . 
    . 
    // The rest of my methods 
} 

는 Ninject에있다 바인딩 다음 오류 :

'DetailsController'유형의 컨트롤러를 만들려고 할 때 오류가 발생했습니다. 컨트롤러에 매개 변수없는 public 생성자가 있는지 확인하십시오.

빈 생성자가 필요할 것으로 예상되지만 사용하려는 빈 생성자를 제공하면 필요한 개체를 초기화하지 않습니다.

내가 뭘 잘못하고 있니? Ninject가 웹 API를 지원합니까?

감사

+2

읽기 http://www.strathweb.com/2012/05/using-ninject-with-the-latest-asp을 -net-web-api-source/ – Mate

+0

이 기사는 웹 api가 여전히 베타 버전이고 시험판 일 때 작성되었습니다. 아직 관련이 있습니까? – developer82

+0

아마도 ninject에는 웹 API 통합을위한 패키지가 있습니다. 적어도 autofac에는 하나가 있습니다. – MikeSW

답변

2

WebAPI에 대한 적절한 Ninject에 Nuget 패키지 설치 :

PM> Install-Package Ninject.Web.WebApi -Version 3.0.0.2 
+0

안녕하세요, 설치하는 동안 다음 오류가 나타납니다. 이미 'Microsoft.AspNet.WebApi'의 최신 버전을 참조하고 있습니다. – developer82

+0

확인. 출시 전부터 다운로드가 끝났습니다. 그 트릭을 수행했습니다. 감사. – developer82

관련 문제