ASP.NET Core : Gérer les erreurs

ASP.NET Core : Gérer les erreurs

Afficher une page d’erreur personnalisé en ASP.NET Core est très simple, mais il y a quelques pièges à éviter. Pour afficher une page d’erreur (erreur 500) il suffit d’écrire la ligne de code suivante : Pour afficher les autres types d’erreurs (page 404, etc…) il suffit d’appeler la méthode suivante : Malheureusement, ce n’est pas aussi simple !Si votre site Web ASP.NET Core héberge des WebAPI elles aussi seront affecté par ces modifications Exclure les API des pages d’erreurs personnalisées…

Lire la suite Lire la suite

Xamarin : Recevoir du texte depuis une autre app Android

Xamarin : Recevoir du texte depuis une autre app Android

La possibilité de recevoir du texte et des images depuis une autre application est un comportement qui est devenu la norme sur les applications mobile. Dans cet article nous verrons comment activer la réception de données texte via Xamarin Android. La première étape consiste à modifier la déclaration de l’activité qui va recevoir les données. Dans notre exemple nous allons modifier la MainActivity mais si vous en avez le besoin vous pouvez créer une activité dédiée. Dans le fichier MainActivity.cs…

Lire la suite Lire la suite

Visual Studio : supprimer automatiquement vos branches remotes/origin

Visual Studio : supprimer automatiquement vos branches remotes/origin

Lorsque l’on utiliser Git dans Visual Studio très vite on s’aperçoit que les branches remotes/origin ne se synchronisent pas automatiquement avec le serveur.Certaines branches vont exister en local alors qu’elles n’existent plus côté serveur, ce qui peut causer des quiproquos.Pour synchroniser ces branches à chaque fetch c’est très simple.Il suffit d’ouvrir la fenêtre Team Explorer puis cliquer sur Settings, puis de définir à True “Prune remote branches during fetch”. Option Prune remote branches during fetch activée : Happy coding 🙂

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

Pin It on Pinterest