1. ホーム
  2. c#

[解決済み] PATCH Windows.Web.Http.HttpClientクラスによる非同期リクエスト

2023-07-21 09:21:08

質問

私は PATCH リクエストで Windows.Web.Http.HttpClient クラスでリクエストすることができますが、その方法についての公式なドキュメントはありません。どうすればいいのでしょうか?

どのように解決するのですか?

私は、"custom"を行う方法を発見しました。 PATCH リクエストで、以前の System.Net.Http.HttpClient クラス ここで で動作するようになるまでいじり倒した。 Windows.Web.Http.HttpClient クラスで動作するようになるまでいじりました。

public async Task<HttpResponseMessage> PatchAsync(HttpClient client, Uri requestUri, IHttpContent iContent) {
    var method = new HttpMethod("PATCH");

    var request = new HttpRequestMessage(method, requestUri) {
        Content = iContent
    };

    HttpResponseMessage response = new HttpResponseMessage();
    // In case you want to set a timeout
    //CancellationToken cancellationToken = new CancellationTokenSource(60).Token;

    try {
         response = await client.SendRequestAsync(request);
         // If you want to use the timeout you set
         //response = await client.SendRequestAsync(request).AsTask(cancellationToken);
    } catch(TaskCanceledException e) {
        Debug.WriteLine("ERROR: " + e.ToString());
    }

    return response;
}