私は私のウェブAPIコントローラ(キャンセルが要求されている場合、彼らは実行されませんつまり長時間実行されている方法は、キャンセルトークンを称える)で、次の方法があります:クライアントは私を呼び出すために、次のコードを持っているクライアントはWeb APIリクエストをキャンセルできますか?
public async Task<IHttpActionResult> ApiMethod(CancellationToken cancellationToken)
{
await LongRunningNetworkOperation1(cancellationToken);
await LongRunningNetworkOperation2(cancellationToken);
return Ok();
}
をウェブAPIコントローラ:
using (var httpClient = new HttpClient())
{
httpClient.Timeout = TimeSpan.FromMilliseconds(3000);
try
{
// Sending DELETE request
HttpResponseMessage deleteMessage = await httpClient.
DeleteAsync("http://localhost:80/api/apiMethod");
}
catch (Exception e)
{
// Timeout occurred.
}
}
「LongRunningNetworkOperation2」が呼び出される前に、cancellationTokenが実行されているから、「LongRunningNetworkOperation2」を防ぐことができますアウトクライアントの要求の時間か?言い換えれば、クライアントはWeb APIに特定のリクエストの実行を停止するように通知できますか?
この特定のキャンセル動作が文書化されている場所はどこですか? – Nick
@ニック:asp.netのウェブサイト上での検索は現在行われていないため、実際に正式に文書化されているかどうかはわかりません。 –