Archives de
Auteur : admin

Razor Pages : conventions d’autorisation

Razor Pages : conventions d’autorisation

Les Razors pages sont une nouveauté de ASP.NET Core 2.2. Elles permettent de se concentrer sur notre code de façon “page-focused” afin de nous rendre plus productif et plus rapide. Dans cet article nous verrons comment mettre en place une “convention d’autorisation” qui permettra d’appliquer une ou plusieurs policies à l’ensemble de pages de notre site web. Convention d’autorisation : à quoi ça sert ? Il est fastidieux mais aussi dangereux (car on peut en oublier) de mettre l’attribut [Authorize]…

Lire la suite Lire la suite

SQL Server : quand reconstruire vos indexes ?

SQL Server : quand reconstruire vos indexes ?

Plus votre base de données va être utilisée plus vos indexes risque d’être fragmentés, une fragmentation importante peut diminuer fortement les performances de vos requêtes et ralentir l’ensemble de votre application. Dans cet article nous verrons comment : diagnostiquer la fragmentations des indexes de nos tables réorganiser / reconstruire un index Diagnostiquer le niveau de fragmentation Avant de reconstruire les indexes il faut identifier quels sont ceux qui sont fragmentés, pour se faire nous allons interroger notre base de données…

Lire la suite Lire la suite

EF Core : récupérer une entité par sa cléf primaire via une expression générée dynamiquement

EF Core : récupérer une entité par sa cléf primaire via une expression générée dynamiquement

EntityFramework Core est un outil très extensible, mais parfois on peut se retrouver bloquer à écrire une “expression” alors qu’en SQL ce serait simple. 😀 Dans mon cas je devais écrire une méthode générique permettant de récupérer une entité par clef primaire. Or, dans ce projet, le nom des clefs primaire de mes entités ne sont pas normé. Ce qui complique la tâche, en effet sans interface commune à toutes mes entités je ne peux pas écrire ma requête LINQ…

Lire la suite Lire la suite

Logger en Debug dans une bibliothèque de classes compilée en Release

Logger en Debug dans une bibliothèque de classes compilée en Release

Aujourd’huis, je devais livrer une bibliothèque de classes qui permettait de logger des actions uniquement en DEBUG. Or, je devais livrer le code compilé Release. Quand on livre un package nuget celui ci doit être optimisé, on ne peut pas se permettre de livrer en DEBUG. La problématique : Si j’appelle directement la méthode Debug.WriteLine de la manière suivante : La méthode fonctionne en DEBUG, mais en RELEASE plus rien n’est loggé. Si on jette un coup d’œil à l’implémentation…

Lire la suite Lire la suite

Silverlight 6 : le plugin ne meurt jamais

Silverlight 6 : le plugin ne meurt jamais

Vous en rêviez, Microsoft l’a fait : Silverlight 6 va enfin sortir, neuf ans après la release de Silverlight 5. Sous la pression la croissante des développeurs, Microsoft se décide enfin de mettre à jour la célèbre technologie. Quelles sont les nouveautés ? Microsoft disrupte encore une fois le web avec Silverlight 6. Les principales nouveautés sont : Disponible sur mobile Intégration de la réalité augmentée Support de .NET Standard 2.1 Blockchain ready Et bien plus encore… Disponible sur mobile…

Lire la suite Lire la suite

Quoi de neuf dans Xamarin Essentials 1.1 ?

Quoi de neuf dans Xamarin Essentials 1.1 ?

Lors de la BUILD 2018, je vous annonçais l’arrivée de Xamarin Essentials, une bibliothèque de classe facilitant la vie aux développeurs Xamarin. Celle-ci vient tout juste de passer en version 1.1 et nous allons découvrir ensemble les nouveautés que ça apporte. Les nouvelles fonctionnalités Quatre nouvelles fonctionnalités font leur apparition : – un pour helper pour faciliter l’utilisation des couleurs – un helper pour faciliter l’utilisation des tailles (Point, Size, Rectangle) – la possibilité de personnaliser les couleurs du navigateur…

Lire la suite Lire la suite

C# : FormattableString

C# : FormattableString

Aujourd’hui, je viens de découvrir la class FormattableString 2 ans après que ça soit sortie. Cette classe a été ajouté avec la fonctionnalité de string interpolation en C# 6.0. String interpolation Pour rappel la string interpolation a été une petite révolution car elle nous a permit de rendre le code beaucoup plus clair. Par exemple pour formater une string je n’ai plus à écrire : Je peux écrire plus simplement : Mais en quoi est-ce lié aux FormattableString ? Si…

Lire la suite Lire la suite

EntityFramework Core et Sqlite : Upsert/Replace

EntityFramework Core et Sqlite : Upsert/Replace

Aujourd’hui je devais insérer ou mettre à jour massivement des milliers de lignes dans une base de données SQLite en utilisant Entity Framework Core. Le contexte Une approche simple pour effectuer cette opération pourrait être : de vérifier si la ligne existe en base de données de l’insérer si elle n’existe pas de la mettre à jour si elle existe Cependant, cette approche est anti-performante car, pour chaque ligne à mettre à jour, il faudrait effectuer deux requêtes. Dans mon…

Lire la suite Lire la suite

#JeFiTalks #5 Qu’est ce que .NET Core ?

#JeFiTalks #5 Qu’est ce que .NET Core ?

Qu’est ce que .NET Core ? En quelques mots nous allons vous expliquer ce qu’est .NET Core. 1.    Qu’est-ce que .NET Core ? . NET Core est un Framework . NET multi plateforme, et modulaire. 2.    Sur quelle plateforme fonctionne-t-il ? Il fonctionne sur les principaux systèmes d’exploitation desktop : Linux MacOS Et bien sûr Windows Si vous voulez du multiplaforme mobile il faudra alors utilisé Xamarin. 3.    Pourquoi Microsoft a créé .NET Core ne pouvait pas-t-il faire évoluer le .NET ? Initialement .NET Core…

Lire la suite Lire la suite

ASP.NET Core : supporter le contenu compressé

ASP.NET Core : supporter le contenu compressé

Dans l’article précédent, nous avions vu comment activer la compression des réponses, dans cet article nous allons voir comment accepter des requêtes dont le contenu est compressé. ASP.Net Core ne fournit aucune classe built-in pour supporter ce scénario. Mais heureusement celui-ci est assez flexible pour ajouter ce comportement en quelques lignes. L’idée est décompresser le body des requêtes qui ont comme entête Content-Encoding avec les valeurs gzip, deflate ou br. Une fois le middleware défini, il faut l’ajouter dans la…

Lire la suite Lire la suite

Pin It on Pinterest