我们有一个.NET MVC 5应用程序,旨在在两个单独的域上运行。基本上有应用程序的主版本和“精简版”版本。我们具有自定义的路由约束,用于检测应运行到不同控制器的路由。整个系统的大部分在相同路线上都是相同的。我们的WebApi调用在应用程序的“精简版”中运行,但在应用程序的“完整”版中返回200状态代码,响应主体为空。此外,我们可以附加调试器,并确定控制器正在“精简版”版本中执行,而不是在“完整”版中执行。我们在我们可以找到的每个构造函数中都添加了断点,并且我们无法确定在“完整”版本的代码中实际运行的是什么。我们使用了https://haacked.com/archive/2008/03/13/url-routing-debugger.aspx/中著名的RouteDebugger,可以确定路由是否被命中,但是控制器从不执行。我们可以查看Application_BeginRequest和EndRequest并确定该请求正在传入并正在处理,但是响应始终为200,“完整”版本的URL上为空。
追踪路线正在执行的最好方法是什么,为什么即使路由匹配也要执行而不是控制器?