Meilleur auteur de réponses
.Net ou pas

Question
-
Bonjour,
je réalise une application .Net qui me renvoie un message d'erreur surprenant :
Code SnippetL'Assistant Débogage managé 'ContextSwitchDeadlock' a détecté un problème dans 'd:\RapidService_VSNET\Debug\ASGenerator.exe'.
Informations supplémentaires : Le CLR n'a pas pu effectuer de transition du contexte COM 0x2d0b70 au contexte COM 0x2d0a00 pendant 60 secondes.
Le thread qui possède le contexte/cloisonnement de destination est probablement en train d'attendre ou de traiter une opération très longue sans pompage des messages Windows.
Cette situation a généralement des effets négatifs sur les performances et peut parfois entraîner le blocage de l'application ou une utilisation ininterrompue de la mémoire.
Pour éviter ce problème, tous les threads STA (Single Threaded Apartment) doivent utiliser des primitives d'attente de pompage (par exemple CoWaitForMultipleHandles) et pomper
de manière régulière les messages lors des opérations qui sont longues à s'exécuter.Ce qui est surprenant est que cet application est 100% .Net et ne contient pas de code COM.
-
Donc pourquoi ce problème ?
-
Y aurait il du COM dans .Net ?
Je ne cherche pas une solution, j'en ai déjà une. Mais je cherche à partager un reflexion.
Cordialement
Michel4CE
-
Réponses
-
Bonjour,
J'ai trouvé ceci :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=280491&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1985692&SiteID=1
Que fait votre application ?
Est-ce que vôtre application utilise Word, ou quelque chose appartenant à MS Office ?
Si c'est le cas, vous utiliserez COM même si vous ne le voyez pas ?
Est-ce que dans Propriétés du projet,onglzt Application,informatios de l'assembly, la checkbox : rendre l'application visible par COM serait cochée ?
Bonne journée
- Marqué comme réponse Gilles TOURREAUModerator samedi 12 septembre 2009 15:13
Toutes les réponses
-
Bonjour,
J'ai trouvé ceci :
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=280491&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1985692&SiteID=1
Que fait votre application ?
Est-ce que vôtre application utilise Word, ou quelque chose appartenant à MS Office ?
Si c'est le cas, vous utiliserez COM même si vous ne le voyez pas ?
Est-ce que dans Propriétés du projet,onglzt Application,informatios de l'assembly, la checkbox : rendre l'application visible par COM serait cochée ?
Bonne journée
- Marqué comme réponse Gilles TOURREAUModerator samedi 12 septembre 2009 15:13
-
-
-
What you are seeing is one of "Managed Debugging Assistants" (MDA) and can be disabled by Debug->Exceptions ... > Expand the MDA node and uncheck the box against contextswitchdeadlock .
- Proposé comme réponse Pascal Hubert mardi 22 mai 2012 17:57