현재 MVC3 웹 응용 프로그램에서 작업 중이며 Ninject에 새로운 문제가 있습니다.MVC3 컨트롤러 생성자 + Ninject
public class TestController : Controller
{
public IRepository<CustomerModel> rep;
public TestController(IRepository<CustomerModel> repository)
{
this.rep = repository;
}
public ActionResult Index()
{
return View();
}
}
을 그리고 내 Ninject에 모듈 :
내 컨트롤러에 다음 코드를 사용하고이에 대해 정의 된 매개 변수가없는 생성자 :
public class RepositoryModule : NinjectModule
{
public override void Load()
{
Bind(typeof(IRepository<>)).To(typeof(Repository<>));
}
}
것은 그러나 이것은 단지 나에게 "System.MissingMethodException를 던졌습니다 목적." 인덱스 뷰를 렌더링하려고 할 때.
그때 추가하면
: 그것은 작동public class TestController : Controller
{
public IRepository<CustomerModel> rep;
public TestController() : this(new Repository<CustomerModel>(new XenCRMEntities())) { }
public TestController(IRepository<CustomerModel> repository)
{
this.rep = repository;
}
public ActionResult Index()
{
return View();
}
}
하지만 새 생성자를 볼 수있는 거의 IOC의 전체 지점을 깰 :
public TestController() : this(new Repository<CustomerModel>(new XenCRMEntities())) { }
처럼 나의 실제로 TestController 보인다.
어떻게 수정합니까?
미리 감사드립니다.
어떤 컨트롤러 팩토리 구현이 사용중인 정말 나쁜 추락 한 내 코드 사용을 변경 ? –
난 그냥 일반 MVC 컨트롤러 공장 구현을 사용하고 있습니다. 이 문제를 해결하기 위해 사용자 지정 컨트롤러 팩터 리를 만들 수 있다는 것을 읽었지 만, 사람들이 Structuremap을 사용하는 예제 만 찾을 수있었습니다. – ebb
http : //www.planetgeek을 참조하십시오.chv/2010/11/13/official-ninject-mvc-extension-gets-support-for-mvc3/ –