小编CPa*_*Pay的帖子

async方法可以阻塞变量而不是调用方法吗?

试着写一个API,我有一个奇怪的案例,我试图解决如下:

        if (!request.WillCheckGetLater)
        {
            // Client calling is willing to wait only for certain amount of time
            var clientWillingToWaitFor = GetResponseTime(request);
            var needsToUpdateResponse = await AwaitResponse(heldBidRequest, clientWillingToWaitFor);
            SendMessage(...);
            return needsToUpdateResponse;
        }
        else
        {
            SendMessage(...);
            return false;
        }
Run Code Online (Sandbox Code Playgroud)

在我的Post方法中,我正在尝试等待该方法.基本上当我收到帖子时,我构建一个"简短"答案,客户端使用API​​中的GET方法检查"长"答案,但也可以在POST中直接询问长答案,但必须指定如何他愿意等待那么长的答案,否则我默认为"简短"答案......

我的SendMessage方法基本上是第三方通信系统,我订阅和发布消息.

现在,当线

 var needsToUpdateResponse = await AwaitResponse(heldBidRequest, clientWillingToWaitFor);
Run Code Online (Sandbox Code Playgroud)

执行,它阻止这段代码,SendMessage直到任务结束才执行,理想情况下我宁愿在返回时阻止它.

我没有必要想要调用SendMessage First只是因为奇怪的情况我可以得到消息的响应在我设置等待它之前.

关于我可以用来做什么的任何想法?

c# asp.net-web-api

3
推荐指数
1
解决办法
46
查看次数

标签 统计

asp.net-web-api ×1

c# ×1