2009-05-29 7 views
0

J'ai un projet comprenant un client Windows (environ 150 utilisateurs), un service web et quelques services Windows. Tous travaillent ensemble dans un intranet et construisent en utilisant C# .NET 3.5. Maintenant, je veux enregistrer les exceptions dans une base de données centrale et les gérer (regarder top 10, système de ticket, etc.) via une application web. Je pensais à utiliser et étendre ELMAH, car il a déjà une application web pour la gestion. Peut-être créer un webservice pour les clients pour enregistrer leurs exceptions.Gestion des exceptions dans une architecture client-serveur

Est-ce une bonne idée, car ELMAH est évidemment destiné uniquement aux sites web asp.net. Je connais le bloc d'application de gestion des exceptions, mais pour autant que je sache, il n'a pas d'application de gestion comme ELMAH, et ma dernière visite à la bibliothèque d'entreprise n'était pas amusante.

Quelles sont vos opinions, y a-t-il d'autres idées?

Répondre

1

La bibliothèque d'entreprise est encombrante et trop lourde. Regardez les composants de journalisation open source: NLog link text ou Log4Net link text. Ils ont tous les deux la capacité de se connecter à divers "puits", y compris un fichier plat, UDP, base de données, etc

Je voudrais définir quelque chose où votre composant de journalisation écrit dans le journal des événements sur le serveur. Utilisez ensuite Microsoft Operations Manager (MOM) ou un autre logiciel de gestion des systèmes qui peut analyser le journal des événements et déclencher des alertes via la pagination, la console du centre de commande, etc. Vous pouvez également vous connecter à une base de données pour interroger, etc. Si vous êtes à la recherche de gestion d'exceptions, de reporting, d'alerte, etc ... Il y a des tonnes de solutions comme MS MOM, Tivoli, CA Unicenter, HP OpenView, et même NagIOS que vous pouvez utiliser pour cela.

Le côté client est un peu plus compliqué. Comme il s'agit d'un intranet, vous pouvez utiliser UDP et exécuter un service sur le serveur qui va écouter ces paquets UDP et les stocker dans le journal des événements et/ou dans une base de données. Vous pouvez également ajouter des méthodes à votre service Web pour capturer les événements de journalisation.

+0

En fait, la partie de journalisation ou l'apport des exceptions du client au serveur n'est pas mon problème. J'utilise déjà log4net et je pourrais créer un Appender. Mes soucis sont, s'il y a déjà des solutions qui sont stables et utilisables et apportent une application managment pratique. – Hinek

+0

Comme indiqué dans l'édition ci-dessus, il existe une tonne de solutions déjà durcies pour la gestion des applications: la gestion des rapports, alerte, etc de votre application. Toutes ces solutions peuvent fonctionner en tandem avec votre composant de consignation pour fournir une infrastructure très riche pour la gestion en temps réel des problèmes. Je voudrais même accrocher dans le logiciel de suivi des bogues en enregistrant des exceptions critiques là aussi. – Doanair

+0

Bien sûr, modifier ELMAH peut être un bon choix si le coût est un facteur, bien que NAGIOS ne coûte rien. – Doanair

0

Je ne pense pas que votre idée d'étendre ELMAH soit une mauvaise idée. Ayant déjà réalisé de nombreux projets similaires, j'ai toujours dû lancer mes propres applications de gestion et ça me fait toujours mal. Je ne sais pas exactement ce que vous pourrez utiliser d'ELMAH, mais il semble que ce soit un bon point de départ.

Questions connexes