インターフェイスが次のような API があります。
void SendRequest(Guid id, IRequest request);
event EventHandler<ResponseEventArgs> ResponseReceived;
この方法を実装する最良の方法は何ですか?
Task<T> GetResponse(IRequest request) where T: IRequest
複数のリクエストが互いに重複する可能性があることに注意してください。そのため、レスポンスが戻ってきたら、親リクエストを検索する必要があります。TaskCompletionSource が役立つ可能性があると感じていますが、完全につなぎ合わせることができません。