Ответ 1
Я знаю, что поздно для OP, но для других, кто пытается отладить 404 ошибки, я нашел способ перехватить результат маршрута и посмотреть, почему он не находит ресурс.
В Global.asax.cs
переопределить Init следующим образом:
public override void Init()
{
base.Init();
this.AcquireRequestState += showRouteValues;
}
protected void showRouteValues(object sender, EventArgs e)
{
var context = HttpContext.Current;
if (context == null)
return;
var routeData = RouteTable.Routes.GetRouteData(new HttpContextWrapper(context));
}
Переменная routeData
будет содержать информацию о маршруте по мере ее интерпретации. Я тестировал это на MVC5.
Я изначально столкнулся с этим методом в другом ответе Пола Эванса, это ссылка (спасибо @porcus за ее поиск): fooobar.com/questions/102637/...