404 ошибка может быть вызвана проблемой маршрута.Так как вы используете атрибут маршрута для вашего веб-API.Убедитесь, что GlobalConfiguration.Configure(WebApiConfig.Register);
выше другого кода.
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
И config.MapHttpAttributeRoutes();
код выше конфигурации других маршрутов.
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "versionApi",
routeTemplate: "api/{version}/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Кроме того, попробуйте удалить следующий код в вашемКонтроллер для проверки, связан ли он с зависимым модулем впрыска.
[Dependency]
public IConfigurationServicev2 configurationService { get; set; }
[Dependency]
public IAccountService accountService { get; set; }
Если он также не может работать для вас.Вы можете получить подробное сообщение об ошибке с веб-сервера после установки свойства IncludeErrorDetailPolicy
в классе WebApiConfig
.
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;