停止从客户端执行Web API方法

时间:2015-03-27 05:37:21

标签: c# asp.net-web-api

我有一个C#WebAPI,当从客户端调用时,它运行一个相当复杂的算法。该算法在可用时间上有点不可预测 - 通常为5-10秒,但有时长达90秒(我正在研究这个问题)。当用户在客户端操作UI时,我希望不断向API发送请求以开始处理,这样当用户进入UI的不同部分时,API请求已完成,我可以立即显示(最近的)API调用的结果。

在最后一次运行时完成计算是非常重要的,所以我希望对此API方法的新请求替换旧请求(如果有的话)正在运行,而不是生成新线程在API中。

如果不清楚:

  1. 用户操纵UI。
  2. UI将RequestA发送给WebAPI(WebAPI开始计算)
  3. 用户再次操作UI
  4. UI将RequestB发送到WebAPI
  5. WebAPI尚未完成RequestA,因此RequestA被终止,RequestB开始
  6. 有没有办法做到这一点,或者如果没有(或者如果它的可怕做法)是否有不同的方式来创建这种功能?

0 个答案:

没有答案