Comment ouvrir une session de communication d'un WebService en cours d'exécution sur IIS 6.0?
Je suis à court d'une ASP.NET Service web dans IIS 6.0, qui montre beaucoup de HTTP 500 (probablement des exceptions à la WebService) à l'intérieur du journal à %systemroot%\System32\LogFiles\W3SVC1
sur l'un de ses clients du site.
Est-il possible d'enregistrer le contenu de ces réponses HTTP et il y a des demandes, sans modifier le WebService à l'aide de IIS ou d'un plug-in pour IIS?
Je pensais de l'aide Wireshark ou Fiddler à renifler le trafic HTTP, mais je préfère il suffit d'activer une option à l'intérieur de IIS pour lui faire journal de la communication (ce qui ne devrait pas être dur, car il se connecte à l'Url demandées de toute façon)
- Êtes-vous en utilisant WCF os services web ASMX?
- Je ne suis pas en utilisant WCF .. ses un .NET 2.0 WebService
- J'ai mis à jour ma réponse.
Vous devez vous connecter pour publier un commentaire.
Créer un HTTPModule et le configurer dans votre ASP.NET la configuration. Vous n'avez pas besoin de modifier le Service Web du code (vous n'avez même pas les sources), que vous venez de configurer le HTTPModule dans votre site Web.config.
Dans le HTTPModule, écouter pour des événements tels que BeginRequest et EndRequest et vous devriez être en mesure de se connecter à l'entrée et à la sortie de, le service web.
Si vous avez besoin pour intercepter les exceptions levées dans le service web, vous pouvez capturer l'événement d'Erreur tel que décrit ici et ici.
Mise à jour:
Selon cette page, vous ne pouvez pas utiliser l'événement d'Erreur d'approche avec les services web, web service, les erreurs ne sont pas acheminés à l'événement d'Erreur. Microsoft suggère que vous utilisez Extensions SOAP de web du journal des erreurs du service.
Nous l'avons fait avant d'utiliser log4net. Voici le haut niveau étapes:
Créer un log4net section de votre site web.config
et...
...
Dans votre Global.asax.cs appeler le log4net Configurer()
En haut de votre service web .cs fichier, déclarer une instance d'une log4net ILog
Dans vos méthodes de service web, intercepter les exceptions et les enregistre
Après ces étapes, dans l'exemple au-dessus de toutes les exceptions apparaissent dans c:\mysvc.log