UnhandledException

Résolu
Signaler
Messages postés
3
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2007
-
Messages postés
3
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2007
-
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é).

Quelqu'un aurait il une idée sur la question ?

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
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 :-)

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
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.

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
3
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2007

Merci pour ta réponse,

Tu m'as donné de nouveaux axes de recherche, et j'ai trouvé quelque chose. Mon probleme serait peut etre dut au Provider IBM pour l'acces à une base AS400 : http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=115170.

Je vais tester le fix (des que j'en trouve le temps) et je te tiendrais au courant.

Merci encore, ce bug est plutot complexe, et de tout les forums où j'ai posté, tu es le seul jusqu'a maintenant a t'y etre intéressé.
Messages postés
3
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
30 mai 2007

Il s'agissait bien de ça. Meme pas besoin du fix. La derniere version du provider .net IBM suffit.

Affaire classée ;)