Попытка чтения или записи защищенной памяти в System.Web.Hosting.UnsafeIISMethods.MgdGetSiteNameFromId - PullRequest
1 голос
/ 25 февраля 2009

Я получаю AV, когда попадаю на страницу ASP COM взаимодействия (которая вызывает управляемый код .NET). Похоже, это как-то связано с IIS 7 / Windows 2008.

Google не может понять это. Есть идеи?

Попытка чтения или записи в защищенную память. Это часто указывает на то, что другая память повреждена.

   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()

Ответы [ 2 ]

1 голос
/ 26 августа 2009

Я столкнулся с той же проблемой после обновления до Windows 7 (и IIS7). Служба WCF, которая ранее работала, начала получать эту ошибку.

Чтобы исправить, я вошел в свойства Build моих проектов (Project / properties / Build Tab) и изменил Targer Targer на "x86". Тогда проблема исчезла.

0 голосов
/ 03 августа 2009

Это не ответ, а просто сказать, что мой магазин видит то же самое как в Windows Vista (x64), так и в Windows Server 2008 (x64). Когда пул приложений настроен для работы в 64-разрядном режиме, первый вызов COM из ASP создает аналогичную трассировку стека.

Действительно странная часть для нас это то, что она исчезает во 2-м и последующих вызовах. Так что это происходит только один раз после перезагрузки пула приложений, а затем, кажется, работает нормально.

Нам также не удалось решить эту проблему.

...