如何等待(数据库更改);在 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}
谁能帮我!
非常感谢您的帮助!
您可以使用
WhenAny
创建一个将在完成多个任务之一时完成的Task
,并结合Task.Delay
来创建将在 10 秒内完成的任务。 WhenAny
完成后,您可以检查Task
是否已完成,如果是,结果是什么。