6

Api 関数 (1st) を呼び出したい。HttpClientを使用した 2 番目の Api 関数から。しかし、常に404エラーが発生します。

1 つ目の API 関数( EndPoint : http : // localhost : xxxxx /api/Test/)

public HttpResponseMessage Put(int id, int accountId, byte[] content)
[...]

2 番目の API 関数

public HttpResponseMessage Put(int id, int aid, byte[] filecontent)
{
    WebRequestHandler handler = new WebRequestHandler()
    {
        AllowAutoRedirect = false,
        UseProxy = false
    };

    using (HttpClient client = new HttpClient(handler))
    {
        client.BaseAddress = new Uri("http://localhost:xxxxx/");

        // Add an Accept header for JSON format.
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var param = new object[6];
        param[0] = id;
        param[1] = "/";
        param[2] = "?aid="; 
        param[3] = aid;                           
        param[4] = "&content=";
        param[5] = filecontent;

        using (HttpResponseMessage response = client.PutAsJsonAsync("api/Test/", param).Result)
        {
            return response.EnsureSuccessStatusCode();
        }
    }
}

だから私の質問はそれです。メソッド パラメーターを HttpClient からオブジェクト配列として投稿できますか? モデルをメソッド パラメーターとして渡したくありません。

私のコードで間違っているのは何ですか?

コードを に変更した後、応答を取得できません

return client.PutAsJsonAsync(uri, filecontent)
           .ContinueWith<HttpResponseMessage>
            (
               task => task.Result.EnsureSuccessStatusCode()
            );

また

return client.PutAsJsonAsync(uri, filecontent)
           .ContinueWith
            (
               task => task.Result.EnsureSuccessStatusCode()
            );
4

1 に答える 1