要求がキャンセルされた場合にサービスに通知するOWIN Webサービスのクライアントを作成しようとしているため、この要求に対して現在進行中の作業も取り消すことができます。サーバー側でHttpClientのキャンセルでサーバーにキャンセルが通知されない
私はこの方法でApiControllerを持っている:
[HttpGet]
[Route("Get")]
public int Get(CancellationToken ct)
{
Console.WriteLine("started!");
while (!ct.IsCancellationRequested)
{
Thread.Sleep(500);
}
Console.WriteLine("canceled!");
return 0;
}
私はエッジを経由してAPIにアクセスする場合、それは、(私はできるだけ早く私はロードを中止として「キャンセル!」メッセージが表示されます動作しますタブを閉じたりブラウザを閉じたりすることができますが、私が試みた他の方法(Chrome、Postman、HttpClient、HttpWebRequest)でCancellationTokenはキャンセルされません。 Edgeは他のすべてのアプリケーションと何が違うのですか?また、HttpClientで動作させるために何ができるのでしょうか?私はCancellationTokenでGetAsync()を呼び出してキャンセルしようとしましたが、Dispose()とHttpClientのCancelPendingRequests()メソッドを試しましたが、いずれもサーバー側の取り消しを引き起こしませんでした。
Owin用のNugetパッケージを更新しましたが、今はうまくいくようです。もし私がそれを確認できれば、後で回答を投稿します。 – user6314158