【发布时间】:2015-04-21 01:11:22
【问题描述】:
我正在尝试使用带有一些 formdatacollection 的 api/error/LogJsError 来实现特定的 webapi 操作。我有一个这样的 ErrorController:
public class ErrorController : ApiController
{
[System.Web.Http.HttpPost]
public void LogJsError(FormDataCollection form)
{
var s = form.Aggregate("Javascript error: message", (current, i) => current + (": " + i.Value));
new Logger(HttpContext.Current).LogException(new Exception(s));
}
}
并且路由是这样配置的:
config.Routes.MapHttpRoute(
name: "ApiWithAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
在WebApiConfig.Register 和
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在 RouteConfig.RegisterRoutes 中
但是无论我做什么,routecollection 都会返回 controller = "Api",从而导致 404。我做错了什么,为什么没有使用 api 路由?
【问题讨论】:
标签: asp.net asp.net-web-api routing