响应超时检查WebAPI

时间:2018-09-19 15:08:14

标签: c# timeout asp.net-web-api2

我正在开发一种Web API,它将调用一种第三方API。对方根据触发状态进行回调。因此,如果我的触发因素是成功,他们将调用我们的成功回调。对于失败,他们给出失败的回调等。如果收到失败的回调,我们将再次调用触发器。

目前,一切正常。现在,我们需要包括另一项功能,例如,如果在规定的时间内未收到任何回叫,触发器将被视为失败,而我需要像失败的回调一样再次调用触发器。

以下是实施概述;

public class CoursesController : ApiController
{
  [Route("api/trigger")]
  public IHttpActionResult PostTrigger()
  {
    /Added code to call third party API and save the response reference
  }

  [Route("api/successcallback")]
  public IHttpActionResult PostSuccessCallback(SuccessModel model)
  {
    //save the success data and finishes the flow
  }

  [Route("api/failurecallback")]
  public IHttpActionResult PostSuccessCallback(FailedModel model)
  {
    //save the failed data and call trigger again
  }
}

这是我们如何实现此超时?

我的想法”

任何调度程序(例如Windows调度程序)或创建Windows服务来检查触发器的超时并处理进程,即使在超时后仍未收到任何回调。

还有其他解决方案,我的意思是没有任何外部调度程序或后台服务来实现这一目标? WebAPI本身是否有任何选择? 有什么更好的做法或针对此问题的通用做法?

0 个答案:

没有答案