当我点击COM互操作ASP页面(调用托管的.NET代码)时,我得到了一个AV。这样的感觉与IIS 7 / Windows 2008有关。
谷歌无法解决这个问题。有什么想法吗?尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
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()
答案 0 :(得分:1)
升级到Windows 7(和IIS7)之后我遇到了同样的问题。之前正在运行的WCF服务开始出现此错误。
为了解决这个问题,我进入了项目的Build属性(Project / properties / Build选项卡),并将Platform Targer更改为“x86”。然后问题就消失了。
答案 1 :(得分:0)
这不是一个答案,但只是说我的商店在Windows Vista(x64)和Windows Server 2008(x64)上都看到了相同的东西。当应用程序池配置为以64位模式运行时,来自ASP的第一个COM调用会产生类似的堆栈跟踪。
对我们来说真正奇怪的部分是它在第二次及以后的电话中消失了。所以它只在应用程序池回收后发生一次,然后似乎工作正常。
我们也无法解决此问题。