Optimisation du temps de chargement d’une page ASP.NET MVC Part 2 : La mise en cache

Pour améliorer les performances de leur application, les développeurs ont couramment recours à l’optimisation côté client et côté serveur. L’optimisation d’une application Web regroupe l’ensemble des techniques qui peuvent aider à accélérer le temps de téléchargement d’une page Web. Parmi ces techniques, on retrouve la minification et la compression du CSS et JavaScript, la mise en cache, l’utilisation des CDN, etc.

Ce billet est le second d’une série sur les techniques d’optimisation du temps de chargement d’une application ASP.NET MVC. Le premier article sur la compression et la minification du CSS et JavaScript peut être consulté sur cette page.

Lire la suite

ASP.NET MVC et Entity Framework : résoudre l’erreur System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types

Lors du déploiement de mon application ASP.NET MVC 3 chez un client, j’ai eu l’erreur « System.Reflection.ReflectionTypeLoadException » pendant l’exécution de celle-ci. Pourtant, l’application fonctionnait correctement sur ma machine de développement.

En dehors d’un foutu message “Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information”, rien ne permet d’identifier clairement la source de cette erreur.

Lire la suite

Création d’une application CRUD avec WebMatrix, Razor et Entity Framework Part 5 : implémentation des fonctionnalités CRUD, cas d’une table associative

Ce tutoriel à pour objectif de fournir une démarche pas à pas pour la création d’une application CRUD avec WebMatrix, Razor et Entity Framework.

– Part 1 : introduction et présentation des outils

– Part 2 : création de l’application et définition du modèle objet

– Part 3 : création du DBContex et du Repository

– Part 4 : implémentation des fonctionnalités CRUD

Dans cette cinquième et dernière partie de notre tutoriel sur la création d’une application CRUD avec WebMatrix, Razor et Entity Framework, nous verrons comment implémenter les interfaces Web pour la lecture, la modification, la suppression et l’enregistrement des données pour une table associative.

Lire la suite

Microsoft.Web.Optimisation : ou comment optimiser une application ASP.NET en utilisant le regroupement et la minification à la volée du JavaScript et CSS

Le temps de chargement d’une page est un facteur important dans l’évaluation des performances d’un site Web. Il a un impact non négligeable sur l’expérience utilisateur et même sur le référencement naturel.

Plusieurs techniques peuvent être utilisées pour optimiser les performances d’une application Web (mise en cache, compression des fichiers, minification, etc). Je vais me pencher aujourd’hui sur le package NuGet d’optimisation d’un site Web « ASP.NET Optimization – Bundling » qui a été publié récemment par Microsoft.

Ce package ajoute le support du regroupement et de la minification des fichiers JavaScript et CSS – qui sont des caractéristiques d’ASP.NET 4.5 et ASP.NET MVC 4 (disponibles actuellement en version Developper Preview) – avec le minimum d’effort pour les applications ASP.NET 4 et ASP.NET MVC.

Lire la suite

ASP.NET MVC : résoudre l’erreur « A circular reference was detected while serializing an object of type… »

En travaillant sur une application Web ASP.NET MVC dans laquelle j’utilise Entity Framework 4 Code First, j’ai eu l’erreur suivante : «A circular reference was detected while serializing an object of type… » lorsque j’ai essayé de retourner une classe Entité au client comme un document JSON.

Lire la suite

ASP.NET MVC 4 Developer Preview : amélioration du modèle de projet web avec le rendu adaptatif

J’avais dans un premier billet de blog, juste après la sortie de la Developer Preview d’ASP.NET MVC 4 présenté sommaire l’ensemble des fonctionnalités disponibles. Dans deux autres billets, je suis revenu de façon assez détaillée sur les nouveautés pour le support du mobile et des tablettes. J’ai également décrit comment créer une première application Web mobile et comment y implémenter des vues multiples qui seront affichées automatiquement en fonction du type de navigateur (Desktop ou Mobile) qui accède la page.

Dans le même ordre d’idée, nous allons continuer à explorer les nouveautés du Framework Web avec cette fois, une analyse détaillée des améliorations apportées au modèle Web par défaut.

Lire la suite

Ecriture d’une simple fonction d’envoi des mails dans une application ASP.NET MVC 3 avec le Helper Razor WebMail

J’avais déjà blogué précédemment sur le Helper Razor Chart et présenté quelques autres Helpers dans mon article sur Razor.

Je vais aujourd’hui m’attarder sur un autre Helper Razor qui m’a été d’une grande utilité récemment pour implémenter une nouvelle fonctionnalité dans une application Web.

En effet, je devais intégrer une fonction pour envoyer des mails dans l’application Web que j’avais migré récemment d’ASP.NET MVC 2 vers ASP.NET MVC 3.

Au lieu de procéder de façon standard comme j’en avais l’habitude, j’ai jeté un rapide coup d’œil sur le Helper Razor WebMail qui m’a permis en l’espace de quelques minutes d’écrire mon module d’envoi des mails, au point ou je n’ai pas pu m’empêcher d’utiliser le temps de libre qui me restait pour écrire ce billet de blog sur ce composant.

Lire la suite

Comment transformer mes fichiers ASPX existants en fichiers cshtml (Razor) ?

Récemment, j’ai décidé de migrer une de mes applications Web existantes de MVC2 vers MVC3 pour y apporter des améliorations et intégrer des nouvelles fonctionnalités.

Logiquement, étend plus à l’aise avec le moteur de vue Razor qui – à mon avis – est plus facile, expressif, compact, fluide et rend la vue beaucoup plus simple, j’ai donc décidé pour mes développements futurs de l’utiliser.

Certes, il est possible au sein d’une même application ASP.NET d’utiliser des moteurs de vue différents pour chaque vue ASP.NET. Mais je n’en veux pas autant le gars d’à côté qui pourra maintenir cette application, au point de l’obliger à avoir une maitrise à la fois du moteur ASP.NET standard et le moteur Razor.

Donc l’utilisation de Razor et le moteur ASP.NET classique dans ma solution pour moi la rend un peu difficile à maintenir et je trouve la solution plutôt indigeste. Au final, j’ai donc décidé de convertir tous mes fichiers ASPX (moteur ASP.NET classique) en fichiers cshtml (moteur Razor).

Lire la suite

[Article]Création des pages Web ASP.NET en utilisant le moteur de vue Razor

Razor est un nouveau moteur de vue et de rendu ASP.NET qui a vu son apparition dans le Framework ASP.NET MVC 3 et l’environnement de développement WebMatrix.

Nous allons dans cet article découvrir ce nouveau moteur de rendu ASP.NET, sa syntaxe et comment créer des pages ASP.NET en utilisant Razor.

Razor a été conçu pour faciliter la conception des pages ASP.NET. Il introduit une syntaxe de programmation assez facilement compréhensible, qui vous permet d’insérer du code serveur dans une page Web qui peut également contenir du HTML, du CSS et des scripts JavaScript.

Le moteur Razor est fluide, compact, expressif et s’appuie sur la syntaxe des langages .NET C# et Visual Basic .NET. Il offre la puissance d’ASP.NET pour la création rapide des applications Web fonctionnelles et sophistiquées.

L’article est regroupé au sein des chapitres suivants :

Présentation de Razor

Prise en charge dans Visual Studio 2010

Syntaxe de base de Razor

Les Layouts

Les Helpers Razor

Les formulaires dans les vues Razor

Manipulation des données

Razor references

L’article complet est disponible sur cette page.

Télécharger la version PDF (Miroir).

Télécharger la version hors-ligne (Miroir).

Bonne lecture ;)

Utilisation du Helper ASP.NET Razor Chart pour la génération des graphiques dans une application ASP.NET MVC 3

ASP.NET MVC 3 est accompagné de plusieurs nouveaux Helper Razor permettant de concevoir facilement des pages ASP.NET dynamiques.

En ce jour, nous allons nous pencher sur le Helper Chart qui est un puissant outil permet de générer avec le minimum d’effort et de code des graphiques dans une page Web.

Le Helper Chart est disponible au sein de l’espace de nom System.Web.Helper. Il supporte de nombreuses options de formatage, plusieurs sources de données (BD, fichier XML, etc.), permettant de générer plus de 30 types (histogrammes, camembert, diagramme en bâton, diagramme en secteur, etc.) de graphiques différents.

Lire la suite