繁体   English   中英

在TeamCity上偶尔出现错误“无法将配置保存到文件'... \\ web.config'”

[英]Occasional error “Unable to save config to file '…\web.config'” on TeamCity

有时,我们的持续集成服务器(TeamCity)上会出现此错误:

Unable to save config to file '...\web.config'.

这种情况发生在我们不到10%的构建以及不同的构建代理中,因此我认为这不是权限问题。

失败的测试将调用WCF服务,该服务将写入另一个服务的web.config文件。 不是线程安全的 ,但据我所知,TeamCity不会并行运行测试,否则我们的许多其他测试将一直失败。

我试图通过产生许多调用配置服务的线程来重现该错误,并得到另一个异常:

The process cannot access the file '...\web.config' because it is being used 
by another process

谁能帮助我找到问题的原因,以便至少可以通过稳定的测试来重现它?

web.config上的文件锁定未及时释放。 如果测试A导致对web.config的写入,则不能保证测试完成时将释放对web.config的文件锁定。 当测试B运行并尝试写入web.config时,锁可能仍然存在。 因为锁定通常会很快释放,所以这种情况不太可能发生。 但是,它确实会偶尔发生,这可能占您10%的故障率。

写入web.config时使用try catch块,并在发生异常时重试写入。 这不是100%可靠的,因此您可能要考虑自定义文件锁定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM