Po pierwsze przeczytałem tyle artykułów, ile mogę znaleźć na ten temat i zainstalowałem kilka wtyczek "route debug". Jestem bardziej zaznajomiony z Javą/Springem, więc naprawdę nie mam pojęcia, jak to debugować, używając vs 2012. (I tak nie mogę sprawić, żeby druk IISExpress był jakikolwiek debug, a tym bardziej taki rodzaj debugowania, do którego przywykłem Spring/Tomcat .)Jeszcze nie znaleziono innej trasy ASP.Net WebAPI
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Legal",
action = "Index",
id = UrlParameter.Optional }
);
}
}
Teraz jestem w stanie trafić na stronę Indeksu za pomocą domyślnego kontrolera. Jednak staram się trafić URL/WebAPI/Metadata/na podstawie poniższego regulatora:
[BreezeController]
public class WebApiController : ApiController {
private readonly EFContextProvider<BankruptcyDbContext> _contextProvider =
new EFContextProvider<BankruptcyDbContext>();
[HttpGet]
public string Metadata() {
return _contextProvider.Metadata();
}
}
"szlakiem Debugger" mówi, że moje prośby o/WebAPI/metadanych/WebAPI/Metadata /,/WebAPI/Metadata/0, a powinna "dopasować", ale wszystko mogę to 404.
Edit1: w końcu znalazłem dzienniki śledzenia i dostał trochę więcej szczegółów:
The controller for path &#39;/WebApi/Metadata&#39; was not found or does not implement IController
http://www.breezejs.com/ –
Awesome, że działa! Nie wiedziałem, że było inaczej między mapRoute i MapHttpRoute. –
@BrockNoland Witamy w mylącym świecie ASP.NET Web API vs ASP.NET MVC. Dwie zupełnie różne struktury, spakowane razem i stworzone, aby wyglądały bardzo podobnie "w celu ułatwienia uczenia się". –