ASP.NET Routing Debugger

How do you debug MVC 4 API routes?

Answer 1

RouteDebugger is good for figuring out which routes will/will not be hit.

http://nuget.org/packages/routedebugger

 

Answer 2

Another way is to add an event handler in Global.asax.cs to pick up the incoming request and then look at the route values in the VS debugger. Override the Init method as follows:

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)); }

Then set a breakpoint in showRouteValues and look at the contents of routeData.

Keep in mind that in a Web API project, the Http routes are in WebApiConfig.cs, not RouteConfig.cs.

 

ASP.NET Routing Debugger

PDATE: I’ve added a NuGet package named “routedebugger” to the NuGet feed, which will make it much easier to install.

UPDATE 2: In newer versions of the NuGet package you don’t need to add code to global.asax as described below. An appSetting <add key="RouteDebugger:Enabled" value="true" /> in web.config suffices.

 

https://www.nuget.org/packages/routedebugger/

 

 

 

 

 

 

 

 

 

Guess you like

Origin www.cnblogs.com/chucklu/p/11464647.html