web-dev-qa-db-ja.com

ASP.NET Core 2.0 RazorページとフルMVCコア

SOに質問がありました Raspor PagesがAsp.net Core 2.0でWeb UIを作成するのに推奨される理由は何ですか? Steve SmithがRazorを使用する利点を親切に説明してくれましたファイルを減らすという観点から見た完全なMVCを超えるページ。

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

したがって、質問は次のとおりです。

  1. コントローラー/ビューよりもRazorページを好むページの単純さ以外に何かがある場合-特に2つのフレームワークのパフォーマンスに興味がありますか?
  2. Razor PagesとControllers/Viewsを同時に組み合わせることは可能ですか?

このフレームワークをよりよく理解するためにRazor Pagesを使用することについて、経験のある人たちがあなたの考え(賛否両論)を共有してくれたら幸いです。

43
Ivan Zaruba

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

ページパラダイムは、コンテンツがサイト上の実際の「ページ」の概念を中心に構成されている場合にうまく機能します。お問い合わせ、About、Loginページなどについて考えてください。もちろん、それらはMVCを介して実行できますが、MVCは本当に不要です。シンプルなページで十分です。コントローラーは、製品カタログやユーザーデータベースなど、よりコントローラーらしいものにします。

MVCアーキテクチャがビュー構造を中心に大きく展開している場合、カミソリページがおそらく適しています。 API関連のものにMVCビットを引き続き使用できますが、ページの利点は、各アクションがビューを持つことができる、またはできないビューを持つMVCのように、フロントエンド構造がより明示的で暗黙的(「慣習ベース」)になることです通常、アクションにちなんで命名されます。

38
Chris