Il y a eu une question à SO Pourquoi Razor Pages est-il l'approche recommandée pour créer une interface utilisateur Web dans Asp.net Core 2.0?)? où Steve Smith a gentiment expliqué les avantages d'utiliser Razor Pages sur MVC complet du point de vue d'avoir moins de fichiers.
J'utilise Razor Pages depuis un moment et je constate que malgré l'avantage de la simplicité de Razor Page, il est un peu compliqué de faire un routage personnalisé, de structurer des dossiers et de créer un modèle de vue complexe (le modèle de page semble encombré).
Alors, les questions sont:
J'apprécierais également que des personnes expérimentées fassent part de leurs réflexions (pour et contre) sur l'utilisation de Razor Pages pour mieux comprendre ce cadre.
Nous avons récemment lancé une application de taille assez décente utilisant Razor Pages pour le contrôleur frontal et les contrôleurs MVC pour l'API pour les composants côté client. Mon expérience a été la suivante:
Le paradigme des pages fonctionne bien lorsque votre contenu est structuré autour de l'idée de "pages" réelles sur le site. Pensez à des choses comme un contact ou un sujet ou même une page de connexion. Bien sûr, cela pourrait être fait via MVC, mais MVC est vraiment inutile. Une simple page suffira. Laissez les contrôleurs à plus de contrôleurs, comme un catalogue de produits ou une base de données d'utilisateurs.
Si votre architecture MVC s'articule autour de la structure de votre vue, les pages rasoir sont probablement un bon choix. Vous pouvez toujours utiliser les bits MVC pour les éléments liés à l'API, mais l'avantage des pages réside dans le fait que votre structure frontale devient plus explicite et moins implicite ("basée sur des conventions"), comme avec MVC où chaque action peut ou non avoir une vue qui est généralement nommé d'après l'action.