我们最近更新了一个相当大的ASP.NET网站(大约1500次alexa流量排名),以使用在Windows Server2008 R2上运行的VS2010和.NET 4.0
从那时起,当我们部署网站的新版本时,我们偶尔会在这篇文章中注意到同样的错误:ASP.Net cannot create/shadow copy错误消息是:当文件已经存在时,无法创建/卷影复制'xxxx,Version=4.0.4301.26898,Culture=neutral,PublicKeyToken=null‘
然而,与那篇文章不同的是,这个错误只发生在我们的生产环境中&只发生在某些服务器上。
在我们发布了新版本的代码之后,我们回收所有的AppPools,错误就开始发生了。
进一步的AppPool回收似乎解决了这个问题,但是我真的想知道我们如何才能在第一时间避免这个问题?
发布于 2011-11-29 07:28:22
我们终于解决了“无法创建/卷影复制”的问题。问题被证明是由于我们的AppPool回收时间&我们的目录副本造成的。它是这样工作的:
将主网站复制到: server\directory
问题是我们的管理站点是主站点的虚拟目录,并且使用相同的AppPool。这在.NET 2.0下运行得很好,但我认为当我们升级到.NET 4.0时,我们可以准确地指出失败的原因。如果我们这样做,似乎运行得很好:
将主网站复制到: server\directory
发布于 2011-11-11 22:03:35
我们发现,从索引(和病毒扫描)中排除临时asp.net文件夹消除了卷影复制错误。
Windows Server2003上索引服务的PowerShell脚本示例:
设置项目属性-path
HKLM:\SYSTEM\CurrentControlSet\Control\ContentIndex\Catalogs\Web\Scopes“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary
-name ASP.NET文件“-value ",,4
重新启动-服务cisvc
https://stackoverflow.com/questions/7759784
复制相似问题