2017-06-07 22 views
1

HTTP "PATCH"リクエストを含めるオプションが表示されませんが、Visual Studio Intellisenseを使用してオプションを取得できませんか?どのように私はStackOverflowの上ここでは、この記事を見つけました。このコードでは、「PATCH」方式の代わりに、「POST」HTTP PATCHメソッドC#

using (HttpClient httpClient = new HttpClient()) 
{ 
    Uri requesturi = new Uri(string.Format("{0}/api/data/v8.2/", url)); 
    httpClient.BaseAddress = requesturi; 
    httpClient.Timeout = new TimeSpan(0, 0, 4); // 10 minutes 
    httpClient.DefaultRequestHeaders.Accept.Clear(); 
    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    result = GetS2SAccessToken(url, pwd); 
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result); 
    httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0"); 
    httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0"); 
    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "");     
    request.Content = new StringContent(props.ToString(), Encoding.UTF8, "application/json"); 
} 
+1

HttpRequestMessage.Methodで可能なことは、[documentation](https://msdn.microsoft.com/en-us/library/system.net.http.httpmethod(v = versus118).aspx)から入手できます。 。 '.Patch'はリストされていません。 –

答えて

0

が含まれます:

:彼はfolowingコード例でそれを行っている click

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; 
} 
+0

しかし、これは非同期のタスクメソッドなので、あなたのニーズに合わない場合は、リンクされたスレッドの他の回答を見てください。 –

+1

Works、ありがとうございます! –

+0

@RaviShastri npあなたは歓迎です。他の人が見ることができるように私の記事を回答としてマークしてください:) –

関連する問題