У меня есть приложение веб-форм asp.net, работающее под интегрированным режимом v4.0.
Я пытался добавить apicontroller в папке App_Code.
В Global.asax я добавил следующий код
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional }
);
Когда я пытался перейти к контроллеру в http://localhost/api/Value
, Я получаю 404 ошибки.
URL без расширения настроен в разделе обработчика. У меня есть формы, и анонимная аутентификация включила для веб-сайта.
ExtensionLess url настроен для '*.'
Когда я поразил URL для контроллера, запрос обработан StaticHandler вместо ExtensionlessUrlHandler-Integrated-4.0.
У меня нет подсказки теперь, почему система бросит ошибку как показано в изображение ниже.
Последовательность регистрации маршрута, была проблема в моем Application_Start (). последовательность, которая работала на меня, была
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
ранее, это было
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configure(WebApiConfig.Register);