1. ホーム
  2. asp.net-core-mvc

[解決済み] ASP.NET Core RazorページとフルMVC Coreの比較【非公開

2023-07-01 12:54:55

質問

SOで質問がありました Asp.net Core 2.0でWeb UIを作成するのに、なぜRazor Pagesが推奨されるのですか? で、Steve Smith が、より少ないファイルの観点から、完全な MVC より Razor Pages を使用する利点について親切に説明してくれました。

Razor Pagesをしばらく使ってみて、Razor Pageのシンプルさという利点にもかかわらず、カスタムルーティング、フォルダの構造化、複雑なビューモデル(ページモデルが乱雑に見える)に関しては、少し複雑であることに気づきました。

そこで、質問です。

  1. コントローラ/ビューよりもRazorページを好むために、ページのシンプルさ以外の何かがあるならば - 特に、私は2つのフレームワークのパフォーマンスに興味があります?
  2. Razor PagesとControllers/Viewsを同時に組み合わせてもよいのでしょうか?

また、このフレームワークをよりよく理解するために、経験豊富な人たちがRazor Pagesを使うことについての考え(長所と短所)を共有してくれるとありがたいのですが、いかがでしょうか?

どのように解決するのですか?

私たちは最近、フロントエンドに Razor Pages を、クライアント側コンポーネントの API に MVC コントローラーを使用して、かなり大きなサイズのアプリを立ち上げました。私の経験では、このようになりました。

ページパラダイムは、コンテンツがサイト上の実際のページという考えに基づいて構造化されているときにうまく機能します。お問い合わせや会社概要、あるいはログイン ページなどについて考えてみてください。もちろん、これらはMVCで実現できますが、MVCは本当に必要ありません。単純なページで十分なのです。コントローラは、製品カタログやユーザーデータベースのような、よりコントローラらしいものに任せましょう。

MVCアーキテクチャがビュー構造を中心に展開されている場合、Razor Pagesはおそらく適合します。しかし、ページの利点は、フロントエンドの構造がより明確になり、MVCのように各アクションが典型的にアクションにちなんで名付けられたビューを持つことができるかどうかという暗黙の(" convention-based" )が少なくなるということです。