harael
Messages postés3Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention30 mai 2007
-
23 mai 2007 à 14:33
harael
Messages postés3Date d'inscriptionmercredi 10 septembre 2003StatutMembreDernière intervention30 mai 2007
-
30 mai 2007 à 14:25
Salut,
Tout d'abord le contexte. Je developpe un site en asp.net - c# 2.0 avec IIS 6. J'utilise l'authentification par formulaire. Sur certaines pages, j'utilise Ajax et plus particulierement Ajax control tool kit pour son calendrier.
Lors des tests, de temps en temps, lorsque l'on clique sur un bouton chargé d'afficher le calendrier du toolkit, l'application se bloquait ; l'icone du bouton du calendrier disparassait et on ne pouvait plus rien faire.
En regardant dans l'observateur d'événements, j'ai put voir que le pool d'application de mon site a été arreté à cause d'une erreur non gérée(System.ObjectDisposedException).
J'ai donc ajouter à mon site un httpModule pour récupérer plus d'information sur le probleme. Voici ce que j'ai obtenu :
-------------------------------------------------------------------
Type de l'événement*: Erreur
Source de l'événement*: ASP.NET 2.0.50727.0
Catégorie de l'événement*: Aucun
ID de l'événement*: 0
Date*: 23/05/2007
Heure*: 09:52:38
Utilisateur*: N/A
Ordinateur*: #####
Description*:
La description pour l'ID d'événement ( 0 ) dans la source (ASP.NET 2.0.50727.0) est introuvable. L'ordinateur local n'a peut-être pas les informations de
Registre ou les librairies requises pour afficher les messages émanant d'un ordinateur distant. Vous pourrez peut-être utiliser l'option /AUXSOURCE= pour
récupérer cette description. Reportez-vous aux rubriques Aide et support pour plus de détails. Les informations suivantes font partie de l'événement :
UnhandledException logged by UnhandledExceptionModule.dll:
appId=/LM/W3SVC/1/Root/#####
type=System.ObjectDisposedException
message=Le handle sécurisé a été fermé
stack=
à System.Runtime.InteropServices.SafeHandle.InternalFinalize()
à System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing)
à System.Runtime.InteropServices.SafeHandle.Finalize()
-------------------------------------------------------------------
Suite à mes recherches, j'en suis arrivé à plusieurs hypotheses :
- Si l'erreur est non gérée s'est parce qu'il s'agit d'une requete faite à partir d'ajax et plus particulierement du calendrier.
- L'authentification par utilisateur pourrait etre lié à ce souci (Le handle sécurisé a été fermé).
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 26 mai 2007 à 01:02
effetivement ca pourrais bien venir de ton AS 400. d'après le dernier commentaire :
"So if you download a big hotFix, maybe round 70 Mb, this is the code: S21917, you can resolve the issue without change anything into your code.
Kind regards."
il existe un fix, mais ca n'a pas l'air d'etre un numéro de fix de microsoft (il commence d'habitude par kb) et google ne me dit rien sur ce numéro, mais peut-être que tu peux contacter l'auteur du comment via son blog :-)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 24 mai 2007 à 00:21
Bonjour,
après une très rapide recherche sur l'exception : http://support.microsoft.com/kb/918462 tu peux toujours essayer peut etre que ca peut améliorer les choses. En tout cas d'après ce que j'ai lu sur le net ca vient des sockets ...
que ce soit une requete ajax ou non n'a rien a voir avec le problème, de toute facon ASP.net n'a quasi aucun moyen de savoir que c'est une requete Ajax ...
que ca vienne de l'authentication, j'ai des doutes, ici le sécurisé parle du handler c'est donc au niveau de l'os ("Safe handle has been closed" pour le message d'erreur en anglais)
je pense donc que c'est soit une config au niveau de IIS, soit un httpmodule spécifique qui touche de trop près aux request et donc aux sockets soit tu as un truc très peu catholique dans ta page :-) mais il faudrais savoir un peu plus d'ou provient l'erreur pour en dire plus.