2
我試圖擴展WebAPI以支持通過HTTP回調返回響應。如何擴展WebAPI以支持通過HTTP回調返回控制器操作結果?
工作流程:
- 的WebAPI接收與回調URL一個HTTP請求。
- WebAPI正常處理URL,如果操作完成時間少於配置的超時時間,則結果將同步發送。
- 如果超時超時,服務器需要發送一個HTTP響應,指示它進入異步狀態,處理繼續。
- 處理(最終)完成時,控制器的響應會發布到預協商的回調URL。
控制器需要保持同步並且不知道異步/回調功能。
似乎MessageHandlers是可能的候選人,但返回多個HTTP響應(一個用於早期的'長任務'響應和一個用於回調)似乎不受支持。
有人可以提供有關WebAPI的哪些區域可擴展且與此場景相關的指導嗎?
這個邏輯可能不是這份工作的最佳解決方案。我認爲你可以將潛在的長/昂貴的工作分成基於隊列的進程。並最終用預定的後臺任務管理這個隊列。因此,採用這種方法,您可以通過「將新任務添加到隊列」來簡化api操作:) – Orhaan 2013-05-02 21:13:17