12

我正在学习 .NET MVC,而我正在构建的应用程序变得更像意大利面条。在我的代码中,我在不同的控制器中有许多动作,这些动作自然都会产生各种视图和局部视图。更糟糕的是,我有 @Html.Action 命令,这又增加了一层混乱。其中一些是默认脚手架操作遗留下来的。

是否有任何工具可以生成我网站中所有可能路线的列表以及它们返回的视图?

我还想找到所有未使用的视图和没有视图的操作,并通常正确地重构所有内容。像这样的东西(请不要评论这个具体的例子):

Route               Views returned
------------------------------------------
/User/Edit          /User/Edit.cshtml
/Admin/User/Edit    /User/Edit.cshtml
...

这样的事情存在吗?可以用 .tt 模板完成吗?

或者也许我的整个方法是错误的..!

4

3 回答 3

8

这些也许可以帮助您:

我还没有测试过Mvc Route Visualizer,但它似乎可以满足你的要求。

编辑:

也许这对你更有效。它不会显示返回的视图,但它至少会显示所有控制器和操作:

  1. MvcCodeRouting nuget 包添加到您的项目中。
  2. 转到注册路由的方法。
  3. 之后routes.IgnoreRoute("{resource}.axd/{*pathInfo}");,添加以下代码行:

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
    // If you don't have "HomeController", choose another controller you have.
    // MvcCodeRouting will look for all controllers in the same namespace and sub-namespaces as the one specified here.
    routes.MapCodeRoutes(typeof(HomeController), new CodeRoutingSettings
    {
        UseImplicitIdToken = true
    });
    
    // Other, existing, routes here...
    
  4. 构建并运行应用程序。

  5. 转到http://yoururl.com/routes.axd查看所有创建的路由,它们将包含所有操作。
  6. 如果你已经安装了 Route Debugger,你可以在那里看到它们:

    Route Debugger screenshot

于 2012-11-30T13:30:15.210 回答
1

Yes you can use Asp .Net MVC MiniProfiler.

Here are the some great links for that

Miniprofiler Home

Scott Hanselman Blog

Sam Saffron Blog

Here is a screenshot of the MiniProfiler :

enter image description here Hope this will help you.

于 2012-11-30T13:31:05.537 回答
0

Route debugger by Phil Haack may help you

ASP.NET Routing Debugger

RouteDebugger 2.0

于 2012-11-30T13:31:29.563 回答