Не може да се достигне до Web Api в .Net MVC

Здравейте, тъкмо започвам да се забърквам с WebApi, за да настроя REST api за моето angular приложение.

Просто добавих „Уеб API 2 контролер с действия за четене/запис“

След това просто се опитвам да го тествам, като просто напиша URL адреса в браузъра, но получавам 404.

Всичко е почти извън кутията.

WebApiConfig.cs изглежда така

    public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

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 = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}

Global.asax

        protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        GlobalConfiguration.Configure(WebApiConfig.Register);

        InitializeDatabase("Data Source=.;Initial Catalog=msproto;Integrated Security=True;MultipleActiveResultSets=True;");
    }

Има ли нещо, което трябва да добавя към уеб конфигурацията? Ако добавя нормален контролер „MVC 5 контролер с действия за четене/запис“, той ще достигне моите точки на прекъсване в заявките за получаване.


person atsituab    schedule 27.10.2015    source източник
comment
Какъв ред се изпълняват в global.asax? Първо маршрутизира Web API или първо MVC маршрутизира?   -  person adam0101    schedule 27.10.2015
comment
ох.. всъщност дори не виждам конфигурацията на webapi да се извиква изобщо. Как да регистрирам това? (съжалявам, аз съм js разработчик!)   -  person atsituab    schedule 27.10.2015
comment
Актуализирах публикацията си и добавих глобалния asax, добавих GlobalConfiguration... но все още не работи   -  person atsituab    schedule 27.10.2015
comment
nm Взех коментара ви и предположих, че вероятно трябва да го преместя в началото. сега изглежда, че работи!   -  person atsituab    schedule 27.10.2015


Отговори (1)


Уверете се, че маршрутите на Web API са регистрирани преди MVC маршрутите във вашия Global.asax.

person adam0101    schedule 27.10.2015