2009-02-24 9 views
1

Je reçois un AV lorsque je clique sur une page ASP COM Interop (qui appelle le code .NET géré). On dirait que cela a quelque chose à voir avec IIS 7/Windows 2008.Vous avez essayé de lire ou d'écrire de la mémoire protégée sur System.Web.Hosting.UnsafeIISMethods.MgdGetSiteNameFromId

Google ne peut pas comprendre cela. Des idées?

Vous avez tenté de lire ou d'écrire de la mémoire protégée. C'est souvent une indication que l'autre mémoire est corrompue.

at System.Web.Hosting.UnsafeIISMethods.MgdGetSiteNameFromId(UInt32 siteId, IntPtr& bstrSiteName, Int32& cchSiteName) 
    at System.Web.Configuration.ProcessHostConfigUtils.GetSiteNameFromId(UInt32 siteId) 
    at System.Web.Configuration.ProcessHostServerConfig..ctor() 
    at System.Web.Configuration.ProcessHostServerConfig.GetInstance() 
    at System.Web.Configuration.ServerConfig.GetInstance() 
    at System.Web.Caching.CacheMemoryPrivateBytesPressure.ReadConfig(CacheSection cacheSection) 
    at System.Web.Caching.CacheMemoryStats.ReadConfig(CacheSection cacheSection) 
    at System.Web.Caching.CacheCommon.ReadCacheInternalConfig(CacheSection cacheSection) 
    at System.Web.HttpRuntime.get_Cache() 

Répondre

0

Ce n'est pas une réponse, mais juste pour dire mon magasin est de voir la même chose à la fois sous Windows Vista (64 bits) et Windows Server 2008 (64 bits). Lorsque le pool d'applications est configuré pour s'exécuter en mode 64 bits, le premier appel COM à partir d'ASP produit une trace de pile similaire.

La partie vraiment bizarre pour nous est qu'elle disparaît sur les appels 2ème et plus tard. Cela ne se produit donc qu'une seule fois après le recyclage de l'application, puis semble fonctionner correctement.

Nous n'avons pas non plus réussi à résoudre ce problème.

0

J'ai rencontré le même problème après la mise à niveau vers Windows 7 (et IIS7) Un service WCF qui fonctionnait précédemment a démarré pour obtenir cette erreur.

Pour réparer, je suis allé dans les propriétés Build de mes projets (Project/properties/Build Tab) et changé le Platform Targer en "x86". Alors le problème était parti.