MVC3 Contrôleur constructeur + Ninject

Je suis en ce moment de travailler sur un MVC3 application Web et ecountered un nouveau problème avec Ninject.

Je suis en utilisant le code suivant dans mon controller:

public class TestController : Controller
{       
    public IRepository<CustomerModel> rep;

    public TestController(IRepository<CustomerModel> repository)
    {
        this.rep = repository;
    }

    public ActionResult Index()
    {
        return View();
    }
}

Et mon Ninject Module:

public class RepositoryModule : NinjectModule
{
    public override void Load()
    {
        Bind(typeof(IRepository<>)).To(typeof(Repository<>));
    }
}

Cependant ce juste me lance "du Système.MissingMethodException: Pas de constructeur sans paramètre défini pour cet objet." quand j'ai essayer de rendre la vue Index.

Si je puis ajouter:

public TestController() : this(new Repository<CustomerModel>(new XenCRMEntities())) { }

donc ma fait TestController ressemble:

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();
    }
}

Il fonctionne, mais comme vous pouvez le voir le nouveau constructeur assez bien rompre le point de l'ensemble de la Coi.

Comment puis-je résoudre ce problème?

Merci d'avance.

ce contrôleur de l'usine de mise en œuvre utilisez-vous?
Je suis juste à l'aide de l'ordinaire MVC contrôleur de l'usine de mise en œuvre. J'ai lu que vous pourriez faire un personnalisé du contrôleur de l'usine pour corriger ce problème, cependant j'ai seulement été en mesure de trouver des exemples où les gens utilisent Structuremap...
voir planetgeek.ch/2010/11/13/...

OriginalL'auteur ebb | 2010-12-06