ninject mvc и asp.net mvc2 не работают на vwd express 2010 - PullRequest
0 голосов
/ 02 апреля 2011

что не так с ninject mvc и asp.net mvc2? Я попытался установить простой проект на VWD 2010 Express, но кажется, что Ninject контроллер фабрика не может создавать контроллеры должным образом, это мой код

public class MvcApplication : Ninject.Web.Mvc.NinjectHttpApplication
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Nom d'itinéraire
            "{controller}/{action}/{id}", // URL avec des paramètres
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Paramètres par défaut
        );

    }

    protected override void OnApplicationStarted()
    {            
        AreaRegistration.RegisterAllAreas();

        RegisterRoutes(RouteTable.Routes);
    }


    protected override IKernel CreateKernel()
    {
        return new StandardKernel(new ServiceModule());
    }

    #region Module d'injection de depandance

    internal class ServiceModule : NinjectModule
    {
        public override void Load()
        {
            Bind<IMyService>().To<MyServiceImpl>();
        }
    }

    #endregion
}

код контроллера

public class MyController : Controller
{
    private IMyService myService;

    public MyController(IMyService myService)
    {
        this.myService = myService;
    }


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

заранее спасибо

1 Ответ

0 голосов
/ 02 апреля 2011

Я решил проблему, я забыл установить привязку для DAO, поэтому, когда ninject не может разрешить граф объектов, он делегирует создание контроллера фабрике по умолчанию, для которой требуется конструктор без параметров.

...