如何暂停Web API?它甚至可能吗?

问题描述 投票:0回答:2

我们面临着奇怪的问题。我们有两个部分1.Windows任务更新数据库2. Web API使用相同的数据库提供搜索结果

我们希望在Windows任务更新数据库时暂停API。因此搜索结果不会是部分或不正确的。是否可以在更新数据库时暂停API请求?数据库更新大约需要10-15秒。

sql entity-framework-6 asp.net-web-api2
2个回答
1
投票

当你说“暂停”时,你对呼叫者的期望是什么?看起来你选择给他们错误而不是不完整的数据。

如果可能,您的数据库更新应该包含在事务中,以便使用者获得当前的完整数据,直到提交事务为止。然后,下一个呼叫将具有更新和完整的数据。

我希望事务处理也可以帮助您从更新中的错误中恢复。如果某些内容在更新过程中失败,会发生什么?

这篇文章可以帮到你:How to Decide to use Database Transactions


0
投票

如果API知道此任务何时开始,您可以通过调用以下命令让线程休眠10秒:

System.Threading.Thread.Sleep(10000)
© www.soinside.com 2019 - 2024. All rights reserved.