63 votes

Différence entre ASP.NET MVC 3 et 4?

Existe-t-il une liste complète qui explique toutes les nouvelles fonctionnalités de MVC4 et ce qu’elles ont toutes changé depuis MVC3?

(Les notes de version ne sont pas très utiles)

61voto

JSK NS Points 1805

Copié et collé à partir MVC4 Notes de publication:

Moderne HTTP modèle de programmation: Directement accéder et manipuler des requêtes et des réponses HTTP de votre site Web Api à l'aide de une nouvelle, fortement typé HTTP objet modèle. Le même modèle de programmation et HTTP pipeline est symétriquement disponible sur le client par le biais de la nouvelle HttpClient type.

Support complet pour les itinéraires: ASP.NET l'API Web prennent en charge l'ensemble de l'itinéraire capacités de ASP.NET de Routage, y compris les paramètres de la route et des contraintes. En outre, l'utilisation de simples conventions d'actions sur la carte de méthodes HTTP.

La négociation de contenu: Le client et le serveur peuvent travailler ensemble afin de choisir le bon format pour les données renvoyées à partir d'une API web. ASP.NET Web API fournit par défaut pour XML, JSON, et la Forme de l'URL-encodé formats et vous pouvez étendre ce soutien par l'ajout de vos propres formateurs, ou même remplacer le contenu par défaut de stratégie de négociation.

La liaison du modèle et validation: les classeurs de Modèle de fournir un moyen facile d'extraire des données à partir de différentes parties d'une requête HTTP et de convertir ces parties de message dans .NET objets qui peuvent être utilisés par le Web API actions. La Validation est effectuée sur les paramètres de l'action basée sur les données des annotations.

Les filtres: ASP.NET Web API supporte les filtres, y compris le bien-connu des filtres tels que l'attribut [Authorize]. Vous pouvez auteur et de brancher vos propres filtres pour les actions, l'autorisation et la gestion des exceptions.

Requête de la composition: l'Utilisation de la [Queryable] filtre d'attribut sur une action qui renvoie IQueryable pour activer le support de l'interrogation de l'API web via la requête OData conventions.

L'amélioration de la testabilité: Plutôt que de fixer HTTP détails dans le contexte statique des objets, web API actions de travailler avec des instances de HttpRequestMessage et HttpResponseMessage. Créer un projet de test d'unité avec votre site Web API projet pour commencer rapidement à écrire des tests unitaires pour votre site Web des fonctionnalités de l'API.

À base de Code de configuration: ASP.NET l'API Web de configuration s'effectue uniquement par le biais de code, en laissant vos fichiers de configuration propre. Utiliser le fournir le service localisateur de modèle pour configurer les points d'extensibilité.

Amélioration du support pour l'Inversion de Contrôle (IoC) les conteneurs: ASP.NET l'API Web fournit un grand soutien pour les Cio de conteneurs à travers une amélioration de la résolution de dépendances abstraction

L'auto-hôte: Api Web peuvent être hébergés dans votre propre processus, en plus de IIS, tout en utilisant toute la puissance de routes et d'autres fonctions de l'API Web.

Créer de l'aide personnalisée et des pages de test: Vous pouvez désormais créer facilement de l'aide personnalisée et de tester vos pages de web de l'Api à l'aide de la nouvelle IApiExplorer service pour obtenir une exécution description de votre site web Api.

La surveillance et le diagnostic: ASP.NET l'API Web offre maintenant un poids léger infrastructure de suivi qui le rend facile à intégrer avec existant solutions d'enregistrement de ce Système.Diagnostics, ETW et la troisième partie de la journalisation des cadres. Vous pouvez activer le suivi par la fourniture d'un ITraceWriter mise en œuvre et de l'ajouter à votre site web de l'API de configuration.

La génération de liens: Utilisation de l'ASP.NET l'API Web UrlHelper à générer des liens vers des ressources connexes dans la même application.

API Web modèle de projet: Sélectionnez le nouveau site Web de l'API du projet de la Nouvelle MVC 4 assistant de Projet d'obtenir rapidement et en cours d'exécution avec ASP.NET l'API Web.

L'échafaudage: Utilisation de l'Ajouter Contrôleur de dialogue rapidement échafaudage d'une API web du contrôleur de base sur un Cadre de l'Entité en fonction du type de modèle.

42voto

Display Name Points 2769

Copier et coller à partir de Ce qui est nouveau dans MVC4 - MVC3 Vs MVC4

Quoi de nouveau dans MVC4 - MVC3 Vs MVC4

Les améliorations des Modèles de Projet par Défaut

Le modèle est utilisé pour créer de nouveaux ASP.NET MVC 4 projets a été mis à jour pour créer un plus moderne, à la recherche de site web

Mobile Modèle De Projet

Si vous êtes le démarrage d'un nouveau projet et que vous souhaitez créer un site pour mobile et tablette navigateurs, vous pouvez utiliser la nouvelle Application Mobile de modèle de projet. Ceci est basé sur jQuery Mobile, une bibliothèque libre pour la construction optimisée pour l'interaction tactile de l'INTERFACE utilisateur

Modes D'Affichage

Le nouveau mode d'Affichage fonctionnalité permet à une application de sélectionner les vues selon le navigateur que fait la demande. Par exemple, si un navigateur de bureau, les demandes de la page d'Accueil, l'application peut utiliser l' Views\Home\Index.cshtml modèle. Si un mobile navigateur demande la page d'Accueil, l'application peut afficher l' Views\Home\Index.mobile.cshtml modèle.

DisplayModes.Modes.Insert(0, new DefaultDisplayMode("iPhone")
{
  ContextCondition = (context => context.Request.UserAgent.IndexOf
    ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
});

jQuery Mobile, le point de Vue de l'Aiguilleur, et le Navigateur Primordial

jQuery Mobile est une bibliothèque open source pour la construction optimisée pour l'interaction tactile de l'INTERFACE utilisateur web. Si vous souhaitez utiliser jQuery Mobile avec un ASP.NET MVC 4 application, vous pouvez télécharger et installer un package NuGet qui vous aide à démarrer. Pour l'installer à partir de Visual Studio Manager Console, tapez la commande suivante: Install-Package jQuery.Mobile.MVC Il installe jQuery Mobile et certains fichiers d'assistance, y compris les suivantes: Views/Shared/Mise En Page.Mobile.cshtml, qui est un jQuery Mobile-mise en fonction. Une vue de commutateur de composant, qui se compose de l'Views/Shared/ViewSwitcher.cshtml vue partielle et la ViewSwitcherController.cs contrôleur. Après avoir installé le paquet, lancez votre application à l'aide d'un navigateur mobile (ou équivalent, à l'instar de Firefox User Agent Switcher add-on). Vous verrez que vos pages ont l'air tout à fait différent, parce que jQuery Mobile poignées de mise en page et le style. Pour bénéficier de cette fonction, vous pouvez effectuer les opérations suivantes Si le visiteur clique sur le lien, ils sont passés à la version de bureau de la même page. Parce que votre aménagement de bureau ne comprendra pas une vue de l'aiguilleur par défaut, les visiteurs ne seront pas avoir un moyen d'obtenir de mode mobile. Pour ce faire, ajoutez la référence suivante à _ViewSwitcher à votre disposition de bureau, juste à l'intérieur de l'élément:

@Html.Partial("_ViewSwitcher")

... Navigateur Primordial est une caractéristique fondamentale de ASP.NET MVC 4 et est disponible même si vous n'installez pas le jQuery.Mobile.MVC paquet. Cependant, il affecte seulement la vue, mise en page, et partielle de sélection de la vue - il n'affecte pas les autres ASP.NET fonction qui dépend de la Demande.L'objet de navigateur.

Recettes pour la Génération de Code dans Visual Studio

Les nouvelles Recettes fonctionnalité permet à Visual Studio pour générer une solution spécifique du code en fonction de paquets que vous pouvez installer à l'aide de NuGet. Les Recettes framework permet aux développeurs d'écrire du code de la génération des plugins, vous pouvez également l'utiliser pour remplacer le haut-générateurs de code pour Ajouter, Ajouter un Contrôleur, et Ajouter une Vue. Parce que les recettes sont déployés en tant que packages NuGet, ils peuvent facilement être vérifié dans le contrôle de source et partagé avec tous les développeurs sur le projet automatiquement. Ils sont également disponibles sur une base par solution.

Tâche de Support pour les Contrôleurs Asynchrones

Vous pouvez maintenant écrire asynchrone des méthodes d'action unique de méthodes qui retournent un objet de type Tâche ou une Tâche.

Par exemple, si vous utilisez Visual C# 5 (ou à l'aide de la Async CTP), vous pouvez créer une action asynchrone de la méthode qui se présente comme suit:

public async Task Index(string city) {
    var newsService = new NewsService();
    var sportsService = new SportsService();

    return View("Common", new PortalViewModel {
      NewsHeadlines = await newsService.GetHeadlinesAsync(),
      SportsScores = await sportsService.GetScoresAsync()
    });
}

Dans la précédente méthode d'action, les appels à newsService.GetHeadlinesAsync et sportsService.GetScoresAsync sont appelés de manière asynchrone et ne pas bloquer un thread du pool de threads.

Action asynchrone des méthodes qui renvoient des Tâches instances peuvent aussi soutenir les délais d'attente. Pour faire de votre méthode d'action résiliable, ajouter un paramètre de type CancellationToken à l'action de la signature de la méthode. L'exemple suivant montre une action asynchrone de la méthode qui a un délai d'attente de 2 500 millisecondes et qui affiche une TimedOut vue du client si un délai d'attente se produit.

[AsyncTimeout(2500)]
[HandleError(ExceptionType = typeof(TaskCanceledException), View = "TimedOut")]
public async Task Index(string city, CancellationToken cancellationToken) {
    var newsService = new NewsService();
    var sportsService = new SportsService();

    return View("Common", new PortalViewModel {
      NewsHeadlines = await newsService.GetHeadlinesAsync(cancellationToken),
      SportsScores = await sportsService.GetScoresAsync(cancellationToken)
    });
}

Espérons que cette aide.

2voto

Afazal Points 21

1voto

Mukesh Kumar Points 163

MVC 3

1.Intégré Échafaudage de système extensible via NuGet 2.HTML 5 permis de modèles de projet 3.Expressif points de Vue, y compris le nouveau Rasoir Vue Moteur 4.De puissants crochets avec l'Injection de Dépendance et L'Action Mondiale Des Filtres 5.Riche en JavaScript avec le soutien discret, JavaScript, jQuery Validation, et JSON de liaison

MVC 4

1.ASP.NET Web API 2.Actualisé et modernisé par défaut du projet modèles 3.Nouveau modèle de projet mobile 4.De nombreuses nouvelles fonctionnalités pour prendre en charge des applications mobiles 5.Support amélioré pour les méthodes asynchrones

Ref : http://dotnet-developers-cafe.blogspot.in/2013/09/difference-between-aspnet-mvc-3-and-mvc.html

0voto

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X