Я работаю над приложением ASP.NET MVC 3.0, используя Ninject в качестве своей среды внедрения зависимостей.
Итак, я унаследовал свой контроллер от NinjectHttpApplication следующим образом:
public class MvcApplication : NinjectHttpApplication
{
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
}
protected void Application_Start()
{
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
AreaRegistration.RegisterAllAreas();
DependencyResolver.SetResolver(new NinjectDependencyResolver(Kernel));
}
protected override Ninject.IKernel CreateKernel()
{
return new StandardKernel(new QueriesModule());
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index" },
new string[] { typeof(HomeController).Namespace }
);
}
}
Но всякий раз, когда я запускаю приложение и пытаюсь перейти к любому из моих контроллеров, я получаю сообщение об ошибке:
Ресурс не может быть найден.
Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, его имя было изменено или он временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно.
Запрашиваемый URL-адрес: /Home/Index
Чем это вызвано и как это исправить?