如何等待(数据库更改);在 Web API 控制器 c# 中

本文关键字:API Web 控制器 何等待 等待 数据库 | 更新日期: 2023-09-27 18:13:21

我有一些Web Api控制器编程用于为移动应用程序提供服务。

在其中一个控制器中,我在数据库中插入了一些数据(状态为 0(,然后我需要等待其他外部调用更改状态,并在更改时(或 10 秒过去(返回 json。

所以恢复:我需要等待表上的一列(具有唯一 ID(更改,然后我的 Web API 控制器才能继续......如果列在 10 秒内没有更改,那么它将返回错误....

我试图使用 SqlDependency 但我无法让它等到更改,我不想在更改后触发某些内容,我需要知道它在等待时是否发生了变化......

我需要这样的东西:

int RequestStatus = await CheckRequestStatusChangeOnDB(RequestID,10);
//await until database change or until 10 seconds has passed...
if (RequestStatus == 1)
                {//do something}
if (RequestStatus == 2)
                {//do something}
if (RequestStatus == 0)
                {//no change in database}

谁能帮我!

非常感谢您的帮助!

如何等待(数据库更改);在 Web API 控制器 c# 中

您可以使用

WhenAny创建一个将在完成多个任务之一时完成的Task,并结合Task.Delay来创建将在 10 秒内完成的任务。 WhenAny完成后,您可以检查Task是否已完成,如果是,结果是什么。