Ubikuity.net Web application developer

12 December 2011

Improve error feedback on ASP.NET applications using Health Monitoring

Filed under: ASP.NET — Tags: , , , — John Ubikuity @ 10:24

When I switched from PHP to ASP.NET, I searched an equivalent to error_reporting() function.

I wanted to monitor all errors that happened on our production server. I know production software should be bug free but in the real world, bugs happen in many unexpected ways : an unusual navigation of the user that you hadn’t thought, an external database result which contains something that you didn’t even imagine in your units tests (database mocking is another topic…).

Context : we have a lot ASP.NET applications in production (more than 100), so modifying every application wasn’t an appropriate option.

Here is the steps of my implementation :

1. Natively, DotNet Framework adds in Windows Event Log an warning event when an exception occurs in an ASP.NET application (Yellow Screen of Death).
This mechanism is configurable through System Health Monitoring.
Windows event log is purged automatically but I currently have 3 or 4 weeks of history so it’s enough (“By default, event logs are set with a maximum file size of 512 KB. Then, when a log reaches this limit, events older than seven days are overwritten to prevent the log from exceeding the maximum file size”).

2. I created an executable (C# console project) which reads the event log and send an email to the appropriate developper(s) :

  • I use a CSV file with correspondence between “ASP.NET application URL” and the “email’s developer”. Simple but effective to avoid any dependency of an external resource that could fail (such as database, which will prevents me from being notified of -the so-called failure).
  • In fact, I still depend on the mail server… (I could provide a fail over solution that uses the command "NET SEND", SNMP… It would be good but a bit luxury at the stage).

3. A Windows Scheduled Task is configured (every 5 minutes) on the machine running IIS to run the executable.

  • A text file contains the date and time of the last exception that was sent by mail.
    Exceptions are sent by email and only once regardless of how often the scheduled task is executed. If the scheduled task didn’t run for any reason, just restart it and it will send emails back where it left off.

4. Display a Custom Error Page with the opportunity for the user to enter a comment and then sent it by email to the appropriate developer.
This mechanism is configurable through Web.config file. I created an .aspx page as simple as possible (no external dependencies) with a textbox and a "send" button.
This helps to stimulate the user feedback and hide the error details (for security reasons).

=> Conclusion : the main advantage of this hand made tool is that it requires no change in source code of the other applications.

  • 90% of users don’t call (or don’t know how to call) the IT department when they encounter an exception.
  • A small number of exceptions that occur aren’t visible to the user (mainly session handling errors).
  • The most common exceptions are easy to reproduce and fix (80-20 rule ?).
  • Then it becomes increasingly difficult to diagnose the type of exception and the call stack isn’t sufficient to understand what happened (I need to know the data entered by the user).
    I also developed a web application to group, sort and filter the exceptions but this will be the subject of another article.
     

Possible improvements :

  • Collect user input data and send it to the developer.
  • Find a way to catch and report client side Javascript exceptions to the server. Any idea ?

References :

2 December 2010

Publier ses photos sur Flickr à partir du logiciel Picasa

Filed under: Software — John Ubikuity @ 16:19

Question : Est ce que l’on peut publier ses photos sur le site Flickr à partir du logiciel Google Picasa v3 ?

Réponse : Oui, en utilisant le plugin picasa2flickr

Remarque : L’installation est plus facile si l’on télécharge le plugin picasa2flickr avec le navigateur Google Chrome (qui associe le fichier .pbz au logiciel Google Picasa).

Source : How To Upload Photos To Flickr From Picasa.

1 December 2010

Fiabilité de l’installation de plusieurs versions d’Internet Explorer sur la même machine

Filed under: Web development — Tags: — John Ubikuity @ 16:57

Question : Est ce que les solutions qui permettent d’installer plusieurs versions d’Internet Explorer sur la même machine sont fiables ?

Réponse : Non, les solutions du type IETester, IECollection ou Multiple IE ne sont pas stables (plantages relativement fréquents) et n’assure pas un comportement 100% identique à la version originale d’Internet Explorer.

Remarque : Je déconseille d’installer IECollection sur une machine avec IE6 car cela a corrompu de mon IE6 natif (mêmes symptomes que le commentaire suivant “multiple blank ie6 browser windows open and i can not use it“).

Source : Tester fiablement ses navigateurs | BrainCracking – Veille technologique sur les applications Web.

23 October 2010

Commentaires imbriqués en CSS = impossible

Filed under: Tweets — Tags: — John Ubikuity @ 20:09

Question : Est ce qu’il est possible d’utiliser des commentaires imbriqués en CSS ?
(C’est à dire créer un commentaire généralement multi-lignes contenant un autre commentaire).

Réponse : Non, “The CSS specification is very explicit on nested multi-line comments and how they are NOT supported”

Source : http://www.nixer.org/nesting-multi-line-comments-css

22 October 2010

Connexions distantes avec ASP.Net Development Server (Cassini) = impossible

Filed under: ASP.NET — Tags: , — John Ubikuity @ 23:07

Question : Est ce qu’il est possible de configurer le serveur Web de développement de Visual Studio “ASP.NET Development Server” (également nommé “Cassini”) afin qu’il réponde aux requêtes HTTP d’une machine distante ?

Réponse : Non, il est prévu pour répondre uniquement aux requêtes provenant de la machine locale.

Source : http://serverfault.com/questions/82899/can-i-access-cassini-from-a-remote-machine

Nouvelles fonctionnalités de VMware Player v3.1.2

Filed under: Tweets — Tags: — John Ubikuity @ 21:44

Je viens de migrer (un peu par hasard) mon VMware Player de la version v2.5 à la v3, je découvre avec plaisir que ce dernier permet d’installer le VMware Tools, de modifier quelques paramètres de la VM et également de créer des nouvelles VM.
Bref que du bonheur !

Au auparavant, j’étais obligé de bidouiller à la main le fichier .vmx et/ou d’utiliser des outils tiers du genre VMX builder.

6 December 2009

Synergy : Partager un clavier/souris entre plusieurs ordinateurs

Filed under: Software — John Ubikuity @ 20:57

Question : Est ce qu’il est possible de partager un clavier/souris entre plusieurs ordinateurs ?

Réponse : Oui grâce à Synergy qui est un “switch KVM logiciel” compatible Windows, Linux et Mac OSX qui permet d’utiliser un même clavier/souris pour contrôler 2 (ou plusieurs) ordinateurs.

Il peut avantageusement remplacer un switch KVM classique (et onéreux) dans le cas où l’on possède un écran pour chacune des machines.
La configuration du logiciel n’est pas très intuitive, il faut bien lire le manuel mais ensuite c’est un régal à utiliser.

Remarque : Synergy permet la fonction copier/coller entre les machines.
(Copier-coller de texte uniquement. Pour la copie de fichiers entre le serveur et le cible, il faut passer par un dossier partagé Windows par exemple).

Source : http://www.presse-citron.net/ecran-total
Site officiel : http://synergy2.sourceforge.net/

Faut-il défragmenter une clé USB ?

Filed under: Hardware — John Ubikuity @ 16:02

Question : Faut il défragmenter une clé USB ?

Réponse : Non, la fragmentation d’un fichier sur un disque dur peut entrainer une perte de temps à cause des allers et retours répétitifs de la tête de lecture.
La mémoire flash d’une clé USB n’a rien de mécanique, la défragmentation ne ne sert à rien !

Et si vous tenez vraiment à le faire : faites plutôt ceci :
– Une sauvegarde de votre clé USB
– Reformater la clé
– Recopier son contenu
C’est beaucoup plus rapide et efficace que la défragmentation

Source : http://bureau-de-poche.easyforum.fr/le-bric-a-brac-f4/faut-il-defragmenter-une-cle-usb-t119.htm

Faut-il défragmenter une VM Windows ?

Filed under: Virtualization — Tags: , , , — John Ubikuity @ 15:47

Question : Est ce qu’il est nécessaire de défragmenter une machine virtuelle VMware Windows ?

Réponse : Oui, la partition NTFS d’une machine virtuelle se fragmente (tout comme c’est le cas pour une machine physique).

Remarque : il peut également être utile défragmenter le fichier .vmdk sur la machine hôte avec un outil comme Sysinternals Contig (qui permet de défragmenter un fichier en particulier).

Source : http://forum.ubuntu-fr.org/viewtopic.php?id=198311

4 December 2009

Don à Wikipedia

Filed under: Tweets — John Ubikuity @ 23:40

En cette période de Noël ou presque, c’est l’occasion pour moi de faire un petit cadeau à Wikipedia avec un petit don de 10€.

Et en plus en France, vous pouvez bénéficier d’une déduction fiscale en donnant directement à Wikimédia France (association loi 1901).
http://www.wikimedia.fr/pourquoi-donner

Voila une bonne chose de faite 🙂

« Newer PostsOlder Posts »

Powered by WordPress