未找到 WebApi Http 错误 404

WebApi Http Error 404 Not Found

我在使用 WebApi 5.2.3 时遇到问题,如果我有这样的控制器:

    [RoutePrefix("api/values")]
    public class ValuesController : ApiController 
    {
            [Route]
            public IHttpActionResult Get() 
            {
                return Ok("data");
            }
    }

目前,如果我向 api/values 发出请求,我会检索到我的回复 "data" 就好了。我想处理找不到路由的情况,例如 "api/values/foo"。当前正在使 api/values/foo 请求 returns 成为典型的 IIS Http 错误 404.0 未找到页面。我希望能够根据协商的内容类型处理此问题和 return json 或 xml 响应。有没有人 运行 以前遇到过这个问题,你是怎么解决的?

提前致谢。

还要注意,我创建了一个 DelegatingHandler 并确认我的请求没有进入 WebApi 堆栈。有什么想法吗?

您可能需要创建自定义 controller/action 选择器 (IHttpControllerSelector/IHttpActionSelector),请查看这篇文章,其中创建了一个自定义选择器来处理 404 错误。

http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api

希望对您有所帮助。