如何处理WebApi错误404

我正在同一个域中使用WebApi2实现MVC 5应用程序。 我现在的问题是如何处理WebApi中的错误404。 我在WebApi中使用路由。

[RoutePrefix("myapi")] public class MyApiController : ApiController { [Route("value")] public string myvalue() { return "value"; } } 

现在我有我的URL "/myapi/value"返回值字符串。 问题是我请求"/myapi/value/bla/bla"或任何不在我的API中的URL,它返回错误404。

我试过这个链接http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api ,它只适用于WebApi项目,但不适用于MVC + WebApi项目。

请帮忙。 TIA

更新:

请仔细阅读!!!!

如果您未在WebApi中处理404,这将是默认页面。 它包括你的物理路径。

在此处输入图像描述

更新:

我认为以下对如何实现WebApi 2+项目的error handling有更好的描述: http : //www.asp.net/web-api/overview/error-handling/web-api-global-error-handling 。

在同一个项目中组合MVC和WebApi时,我的项目有两个问题。

第一个是我的普通MVC页面的error handling不再起作用了。 为了解决这个问题,我首先通过MVC控制器路由初始化了WebApi路由,并在web.config中进行了一些小调整,如post中所述。

其次,如果您想处理无效的webapi路由,例如正确的目录,但具有无法解析的错误值。 尝试以下链接的“全局error handling”部分中的解决方案: http : //weblogs.asp.net/jongalloway/looking-at-asp-net-mvc-5-1-and-web-api-2- 1 -部分- 4 -网上API-求助页面,BSON-及全局error handling