404错误可能由路由问题引起。因为您正在为Web 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; }
如果它也不能为你工作。设置后,可以从web服务器获取详细错误消息
IncludeErrorDetailPolicy
中的属性
WebApiConfig
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;