ASP.Net不能创建生产/卷影副本 [英] ASP.Net cannot create/shadow copy in PRODUCTION
问题描述
我们最近更新了相当大的ASP.NET网站(〜1500次Alexa的流量排名)使用VS2010和.NET 4.0的Windows Server 2008 R2
We've recently updated a fairly large ASP.NET website (~1500th alexa traffic ranking) to use VS2010 and .NET 4.0 running on Windows Server 2008 R2
自此以后,当我们部署我们偶尔发现在这个岗位同样的错误该网站的新版本:
ASP.Net无法创建/卷影副本
错误消息是:
无法创建/卷影副本XXXX,版本= 4.0.4301.26898文化=中性公钥=空'当该文件已存在
Since then, when we deploy new versions of the site we occasionally noticed the same error in this post: ASP.Net cannot create/shadow copy The error message is: Cannot create/shadow copy 'xxxx, Version=4.0.4301.26898, Culture=neutral, PublicKeyToken=null' when that file already exists
不过,与在该职位,误差仅在我们的生产环境和放大器产生的;只有在某些服务器。
However, unlike in that post, the error is occurring only in our production environments & only on some servers.
我们运送code的新版本后,我们回收所有AppPools和错误开始发生的历史。
After we ship a new version of the code, we recycle all AppPools and the error starts occuring.
一个进一步的程序池回收似乎解决这个问题,但是我真的很想知道如何才能避免在首位这个问题?
A further AppPool recycle seems to fix the issue, however I really want to know how we can avoid this problem in the first place?
推荐答案
我们终于解决了我们的无法创建/卷影副本的问题。原来,这个问题是由于我们的应用程序池回收和放大器的时间;我们的目录册。它的工作是这样的:
We've finally solved our 'Cannot create/shadow copy' problems. The problem turned out to be due to the timing of our AppPool recycle & our directory copies. It worked something like this:
- 复制主网站:服务器\\目录
- 回收应用程序池的网站
- 小型管理站点复制到服务器\\ otherdirectory
问题是,我们的管理网站是主网站的虚拟目录,并使用相同的程序池。这种精细的工作在.NET 2.0,但我认为我们可以找出失败,当我们升级到.NET 4.0。似乎运行得很好,如果我们做到这一点,而不是这样的:
The problem was that our admin site was a virtual directory of the main site and used the same AppPool. This worked fine under .NET 2.0, but I think we can pinpoint the failures to when we upgraded to .NET 4.0. Seems to run just fine if we do it this way instead:
- 复制主网站:服务器\\目录
- 小型管理站点复制到服务器\\ otherdirectory
- 回收应用程序池的网站
这篇关于ASP.Net不能创建生产/卷影副本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!