HTTP コールバックを介して応答を返すことをサポートするように WebAPI を拡張しようとしています。
ワークフロー:
- WebAPI は、コールバック URL を含む HTTP 要求を受け取ります。
- WebAPI は URL を正常に処理し、構成されたタイムアウトよりも短い時間で操作が完了すると、結果が同期的に送信されます。
- タイムアウトを超えた場合、サーバーは非同期になったことを示す HTTP 応答を送信する必要があり、処理は続行されます。
- 処理が (最終的に) 完了すると、コントローラーの応答が事前にネゴシエートされたコールバック URL に送信されます。
コントローラーは同期を維持し、非同期/コールバック機能を認識しない必要があります。
MessageHandlers が有力な候補のようですが、複数の HTTP 応答 (初期の「長いタスク」応答用とコールバック用に 1 つずつ) を返すことはサポートされていないようです。
WebAPI のどの領域が拡張可能で、このシナリオに関連しているかについて、誰かがガイダンスを提供できますか?