2015-08-03 2 views
4

Я реализую приложение MVC 5 с WebApi2 в одном домене. Моя проблема теперь в том, как обрабатывать ошибку 404 в WebApi. Я использую маршрутизацию в своем WebApi.Как обрабатывать ошибку WebApi 404

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

Теперь у меня есть URL "/myapi/value", который возвращает строку значения. Проблема в том, я просил "/myapi/value/bla/bla" или любой URL, который не в моей API, он возвращает ошибку 404.

Я попробовал эту ссылку http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api, она применяется только в проекте WebAPI, но не в проекте MVC + WebAPI.

Пожалуйста, помогите. ТИА

UPDATE:

Пожалуйста, внимательно прочитайте !!!!

Это будет страница по умолчанию, если вы не обрабатываете 404 в своем WebApi. Он включает в себя ваш физический путь.

enter image description here

+0

Почему проблема 404? Если URL-адрес неверен, он должен вернуть 404, не так ли? – Knelis

+0

Но страница с ошибкой по умолчанию возвращается не по вашему усмотрению. – dan

+0

'/ myapi/value/bla/bla' не является допустимым маршрутом. –

ответ

1

Обновлено:

Я думаю, что следующее имеет более подробное описание о том, как реализовать обработку для проекта WebAPI 2+ ошибку: http://www.asp.net/web-api/overview/error-handling/web-api-global-error-handling.

Есть две проблемы, которые я имел в своих проектах при объединении MVC и WebApi в том же проекте.

Первое, что моя обработка ошибок на моих обычных страницах MVC больше не работала. Чтобы решить эту проблему, я сначала инициализировал маршрутизацию WebApi, по маршрутизации контроллера MVC и сделал небольшие корректировки в файле web.config, как описано в вашем сообщении.

Во-вторых, если вы хотите обрабатывать недействительные маршруты webapi, например, правильный каталог, но с неправильными значениями, которые невозможно устранить. попробуйте решение в разделе «Глобальная обработка ошибок» по ссылке ниже: http://weblogs.asp.net/jongalloway/looking-at-asp-net-mvc-5-1-and-web-api-2-1-part-4-web-api-help-pages-bson-and-global-error-handling

+0

Это WebApi not MVC – dan

+0

Вы должны отметить как дубликат. – Robert

+0

Пожалуйста, внимательно прочитайте, прежде чем комментировать – dan