Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何等待(数据库更改);在WebAPI控制器c中#_C#_.net_Api_Web_Controller - Fatal编程技术网

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

C# 如何等待(数据库更改);在WebAPI控制器c中#,c#,.net,api,web,controller,C#,.net,Api,Web,Controller,我有一些为移动应用程序编写的Web Api控制器 在其中一个控制器中,我在数据库中插入了一些数据(状态为0),然后我需要等待其他外部调用来更改状态,当状态发生更改时(或10秒后),返回一个json 所以继续:我需要等待表上的一列(具有唯一ID)发生更改,然后我的Web Api控制器才能继续。。。如果列在10秒内没有更改,则它将返回一个错误 我试图使用SqlDependency,但我无法让它等待更改,我不想在更改后触发某些内容,我需要知道它在等待时是否已更改 我需要这样的东西: int Reque

我有一些为移动应用程序编写的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
创建一个
任务,该任务将在多个任务中的一个任务完成后与
任务一起完成。Delay
创建一个任务,该任务将在10秒内完成。完成任何任务后,您可以检查任务是否已完成,如果已完成,结果如何。

谢谢@servy。。。这将解决这两种情况。。。。但是检查数据库上的更改怎么样。。。我该怎么处理呢??。。。如何对CheckRequestStatusChangeOnDB进行编码?谢谢@里卡多·埃斯科瓦尔:这个问题和你问的完全不同。也许我没有解释清楚@servy,对此我很抱歉。。。真的有两个问题在一个。。。第一个(关于两个条件的任务)你已经回答了,我很感激。。。第二个是等待数据库更改以给出结果(这就是为什么我在标题上有它并对SqlDependency进行了评论)。。你能帮我吗?谢谢你有什么想法吗?