Изучаю ASP.net MVC Framework.
Создал приложение из шаблонв Web Api (именно API меня сейчас инетересует) по туториалу с
Microsoft .
Сейчас пытаюсь добавить в него стандартные MVC контроллеры и ничего не выходит.
Я создал класс HomeController унаследованный от Controller и положил его в папку Controllers.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Http;
namespace StopSalesApi.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public String Index()
{
return "HelloWorld";
}
}
}
Предварительно добавил в коллекцию роутингов, маршрут для не Api контроллеров.
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// MVC routes
config.Routes.MapHttpRoute(
name: "Default",
routeTemplate: "{controller}/{action}",
defaults: new {controller = "Home", action = "Index"}
);
}
Но MVC Framework на отрез отказывается видеть мой контроллер Home. Другие контроллеры, которые унаследованы от ApiController, запускаются, а потомки Controller - нет.
Выдает ошибку json'om
{"Message":"Не удалось найти ресурс HTTP, соответствующий URI запроса \"http://localhost:9707/\".","MessageDetail":"Не удалось найти тип, соответствующий контроллеру \"Home\"."}
При этом стоит изменить родительский класс у типа Home на ApiController и фрэймворк начинает его видеть.
Я уже создал из шаблонов в VS, полноценное MVC приложение и проверил в чем отличия, скопировал список пакетов в свой проект, но ничего не изменилось.
Никак не могу понять какая именно настройка отвечает за поиск контроллеров?