ASP.NET Core 2.0 pages Razor vs Plein MVC de Base
Il y a eu une question à SI Pourquoi est-Rasoir Pages de 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 de l'utilisation de Rasoir Pages plus complet MVC, à partir de la perspective d'avoir moins de fichiers.
J'ai été en utilisant le Rasoir Pages pour un certain temps et a remarqué que, malgré l'avantage d'un Rasoir Page simplicité, c'est un peu compliqué quand il s'agit de la coutume de routage, de la structuration des dossiers complexes et de modèle de vue (page modèle semblent être encombré).
Donc, les questions sont:
- Si il n'y a rien d'autre, sauf la simplicité d'une page à préférer Rasoir Pages sur les Contrôleurs/Vues - plus précisément, je suis intéressé par la performance des deux cadres?
- Est-il acceptable de combiner les Pages Razor et Contrôleurs/points de Vue en même temps?
J'apprécierais aussi si certains de expirienced gars partagé vos pensées (avantages et inconvénients) sur l'utilisation de Rasoir Pages pour mieux comprendre ce cadre.
merci pour la réponse et désolé d'être floues. J'ai été en utilisant à plein MVC pour les 3 dernières années et c'est Microsoft qui a fait cette recommandation à l'usage du Rasoir Pages de l'INTERFACE utilisateur des applications. Donc, je voudrais savoir si quelqu'un a déjà commencé à utiliser le cadre et les approuver que Microsoft recommandation devrait être suivie.
pouvez-vous expliquer ce qui n'allait pas avec "la structuration des dossiers complexes et de modèle de vue (page modèle semblent être encombré)"?
assurez-vous. J'étais incapable de bouger _ViewStart, _Layout, _ViewImports dossier Partagé; Dans le cas où je voulais regrouper mes pages dans un dossier (ce qui est évident), il a touché de la page de routage et la seule façon de remplacer les voies traditionnelles a été pour configurer RazorPagesOptions en Démarrage.ConfigureServices (à la différence des actions où je peux le décorer avec un attribut). Dans certains cas, j'ai eu de gros Viewmodel avec quelques VM-la logique de l'intérieur; si j'ai combiné de la page logique avec une VM à la logique et des propriétés, la page regardé laid (semblait violer SRP) contrairement à la MVC modèles de structure. Tous dit, c'est à mon humble avis bien sûr.
Je préfère rester à la SPA + MVC (API Web) chaque fois que possible. Pourtant si, je pense que RazorPages conviennent mieux pour les petites ou CRUD projets axés sur des résultats (si pas de complexité de l'évolution est supposée)..
OriginalL'auteur Ivan Zaruba | 2018-01-05
Vous devez vous connecter pour publier un commentaire.
Nous avons récemment lancé un assez décent de la taille de l'app à l'aide de Rasoir Pages pour le front-end et des contrôleurs MVC pour l'API pour les clients. Mon expérience a été ceci:
Les pages paradigme fonctionne bien lorsque votre contenu est structuré autour de l'idée de la réelle "pages" sur le site. Penser à des choses comme l'un de Nous Contacter ou d'un Sujet ou même une page de Connexion. Bien sûr, ceux qui pourrait être fait via MVC, mais MVC est pas vraiment nécessaire. Une page simple suffira. Laisser les commandes de plus de contrôleur de new'ish choses comme un catalogue de produits ou un utilisateur de base de données.
Si votre architecture MVC tourne largement autour de votre point de vue de la structure, les pages razor est probablement un bon ajustement. Vous pouvez toujours utiliser le MVC bits de l'API de choses liées, mais l'avantage de pages, c'est qu'avant la fin de la structure devient plus explicite et moins implicite ("la convention") comme avec MVC où chaque action pourrait ou ne pourrait pas avoir un point de vue qui est généralement nommé d'après l'action.
Il n'y a aucune raison que vous ne pouvait pas combiner les deux.
/about
pourrait être une lame de rasoir page avec historique de la société info en/users/1/profile
pourrait être un mvc vue qui affiche les informations pour un utilisateur.Si
Asp.Net Core Razor Pages
est mieux queASP.NET Core MVC
que pourquoiMicrosoft
publiéASP.NET Core MVC
? Il semble que les gens ici commeMVC
de style, de bien vouloir nous guider lorsque nous devons utiliserASP.NET Core MVC
?Je suis nouveau sur ASP.NET de Base, comment puis-je faire un projet à la fois MVC et Rasoir Pages?
Référence les packages nuget
Microsoft.AspNetCore.Mvc.RazorPages
etMicrosoft.AspNetCore.Mvc
OriginalL'auteur Chris