Comment optimiser le référencement de notre site web ASP.NET MVC ? quelles sont sont les erreurs à éviter ? Dans une série d'articles consacrées au SEO en environnement .NET (MVC), je vais m’intéresser à ces problématiques. Je vais commencer par les balises META, et de façon plus globale, des balises que l'on trouve dans le 'Head' de nos pages web, et qui ont potentiellement un poids dans le SEO de notre site...
mercredi 30 avril 2014
dimanche 23 mars 2014
Le pattern Abstract Factory
Le pattern abstract Factory (Fabrique Abstraite) permet de rassembler des méthodes communes à des familles d’objets différents dans une classe commune : la fabrique abstraite, afin d’éviter au client d’appeler des méthodes différentes (concrètes) par famille d’objets.
“L’abstract Factory” est un pattern de création (Creational Pattern) : il va donc nous servir pour instancier des objets...
jeudi 13 février 2014
1er jour au techdays 2014
Un petit article sur ma 1ère journée aux Techdays 2014.
Cliquez sur l'image :
mardi 28 janvier 2014
Erreur : Le code généré à l'aide de modèles T4 pour le développement Database First et Model First
J'ai récemment rencontré cette erreur sur un projet asp.net MVC 4 :
Voici 2 liens que j'ai trouvé traitant du sujet :
- j'ai d'abord créer un nouveau projet mvc4
- j'ai utilisé le générateur Code-First pour la partie MemberShip provider par défaut (le simpleMemberShip)
- J'ai rajouté un projet DAL avec un EDMX.
- J"ai modifié la connexion String dans le web.config du projet Web iso celui de l'app.conf du projet de la DAL.
Soit vous partez uniquement sur du code first ou du database first, et vous utilisez une seule chaîne de connexion appropriée.
Il doit exister une solution plus subtiles; Je suis preneur si quelqu'un sait.
Le code généré à l'aide de modèles T4 pour le développement Database First et Model First peut ne pas fonctionner correctement s'il est utilisé en mode Code First. Pour continuer d'utiliser Database First ou Model First, vérifiez que la chaîne de connexion Entity Framework est spécifiée dans le fichier de configuration de l'application en cours d'exécution. Pour utiliser ces classes, générées à partir de Database First ou Model First, avec Code First, ajoutez toute configuration supplémentaire à l'aide des attributs ou de l'API DbModelBuilder, puis supprimez le code qui lève cette exception.
Voici 2 liens que j'ai trouvé traitant du sujet :
Scénario d'apparition de l'erreur
il s'agit de mon cas :- j'ai d'abord créer un nouveau projet mvc4
- j'ai utilisé le générateur Code-First pour la partie MemberShip provider par défaut (le simpleMemberShip)
- J'ai rajouté un projet DAL avec un EDMX.
- J"ai modifié la connexion String dans le web.config du projet Web iso celui de l'app.conf du projet de la DAL.
Pistes d'explications
Il s'agit vraisemblablement d'un problème d'utilisation des 2 modes en // : database first et code first en voulant utiliser la même chaîne de connexion.
Ayant au préalable utiliser le "Code First" qui fonctionne avec une chaîne de connexion "standard", la partie Edmx elle fonctionne avec une chaine spécifiant bien le fonctionnement avec providerName="System.Data.EntityClient" dans sa chaîne.
solutions
Soit vous utilisez 2 chaines de connexion en simultanée, l'une pour gérer la partie code first (pour la part, l'utilisation du simpleMembership par défaut), et l'autre pour tout ce qui accédera à la BDD via les "entities" générées par l'edmx,Soit vous partez uniquement sur du code first ou du database first, et vous utilisez une seule chaîne de connexion appropriée.
Il doit exister une solution plus subtiles; Je suis preneur si quelqu'un sait.
samedi 7 décembre 2013
Mesurer les performances de vos pages Web ASP NET MVC 4 avec Glimpse
Un collègue m'a fait découvrir un outil (open source) assez sympa qui permet de mesurer les perfs de votre application web .NET : il s'agit de GLIMPSE.
Pour ma part je l'ai testé sur un projet Asp net mvc4; il fonctionne également pour d'autres types de projet tels que ASP.NET, etc
Pour les codeurs VISUAL STUDIO, Il suffit de télécharger la package Nuget correspondant dans votre Visual Studio:
Un fois le package installé, il suffit de lancer votre site, d'ouvrir un autre onglet dans votre navigateur ou vous copierez l'url de votre adresse suivi de /glimpse.axd (par exemple http://localhost:62s23/glimpse.axd), et vous pourrez ainsi activez la console d'analyse Glimpse comme l'indique l'image ci-dessous :
Vous devriez arrêter l'analyse via cette même page en cliquant sur "turn Glimps Off". Une fois Glimpse activé sur cette page, il suffit de rafraîchir votre page, et vous verrez apparaître la console d'analyse Glimpse au niveau de votre debugger du navigateur (en bas de navigateur).
Sur l'onglet ci-dessus, vous avez par exemple le temps d'exécution de chaque méthode appelé lors du chargement de votre page. Un certain nombre d'informations supplémentaires peuvent être consultées sur les autres onglets, notamment le temps d'exécution des requêtes LINK que j'ai trouvé super sympa.
Je découvre l'outil pour l'instant mais je le trouve assez sympa, simple d'utilisation et il semble regorger de pleins de fonctionnalités utiles que je ne manquerez pas de partager.
vendredi 6 décembre 2013
Error javascript Uncaught TypeError: Cannot use 'in' operator to search for...
J'ai récemment rencontré cette erreur javascript lors d'appels AJAX avec Jquery sur une application ASP.NET MVC 4. Je me rendu compte que la plupart du temps, cette erreur était dû au fomat du "data" retournée par le serveur, notamment la confusion entre le type "string" et "json".
Ci-dessous le code serveur qui me retourne la liste d'éléments :
voici mon code javascript qui plantait au départ :
En changeant l'affectation directe de ma liste json en retour, puis en précisant le type de retour en plus, le problème a été résolu.
Ce ticket jquery suivant mentionne cette erreur 'type'; Mais ce message d'erreur Javascipt est assez générique et peut apparaître dans d'autres contextes que celui de mon exemple d'appel ajax. Cependant, Il fera très souvent référence à un problème de manipulation/parcours d'éléments dans un tableau Javascript.
Ci-dessous le code serveur qui me retourne la liste d'éléments :
public JsonResult ListItems()
{
var response = itemService.ListItems(new ItemRequest());
return Json(response.Items, JsonRequestBehavior.AllowGet);
}
voici mon code javascript qui plantait au départ :
var maList = new Array();
$.ajax({
url: '/Home/ListItems',
type: 'GET',
cache: false,
success: function (data) {
AlarmsList = data;
...
En changeant l'affectation directe de ma liste json en retour, puis en précisant le type de retour en plus, le problème a été résolu.
var AlarmsList = new Array();
$.ajax({
url: '/Home/ListItems',
type: 'GET',
cache: false,
dataType: 'json',
success: function (data) {
$.each(data, function(i, alarm){
AlarmsList.push(alarm);
...
});
Ce ticket jquery suivant mentionne cette erreur 'type'; Mais ce message d'erreur Javascipt est assez générique et peut apparaître dans d'autres contextes que celui de mon exemple d'appel ajax. Cependant, Il fera très souvent référence à un problème de manipulation/parcours d'éléments dans un tableau Javascript.
jeudi 14 novembre 2013
Les transactions sous SQL Server 2012
J'ai démarré une série d'articles sur les transactions SQL sous SQL Server 2012 que vous trouverez ici. Dans ce premier volet, j'aborde notamment la définition ACID de la transaction.
Inscription à :
Articles (Atom)



