В существующем проекте ASP. NET MVC я создал новый контроллер веб-API.
namespace EMSMVC.Controllers
{
public class TabletController : ApiController
{
public Call Get(int call_id)
{
using(EMSMVCEntities entities = new EMSMVCEntities())
{
return entities.Calls.FirstOrDefault(e => e.call_id == call_id);
}
}
}
}
Когда я пытаюсь получить к нему доступ через браузер, используя:
http://localhost:53366/Tablet/Call/157
Я получаю сообщение об ошибке:
Ошибка сервера в приложении '/'. Ресурс не найден.
Мой RouteConfig.cs
содержит:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Dashboard", action = "Index", id = UrlParameter.Optional }
);
}
}
Файл WebApiConfig.cs
содержит:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Существующие контроллеры работает нормально.