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 をインストールしている場合は、そこに表示されます。

    ルート デバッガーのスクリーンショット

于 2012-11-30T13:30:15.210 に答える
1

はい、 Asp .Net MVC MiniProfilerを使用できます。

ここにいくつかの素晴らしいリンクがあります

ミニプロファイラー ホーム

スコット・ハンセルマンのブログ

サム・サフランのブログ

MiniProfiler のスクリーンショットを次に示します。

ここに画像の説明を入力 これがあなたを助けることを願っています。

于 2012-11-30T13:31:05.537 に答える
0

Phil Haack による Route debugger が役立つかもしれません

ASP.NET ルーティング デバッガー

ルートデバッガー 2.0

于 2012-11-30T13:31:29.563 に答える