[C#] HttpClient.PostAsync 메서드 에는 HttpCompletionOption을 설정 할 수 없는 부분에 대한 대처 방안
public async void httpTest()
{
Cookie cookie = new Cookie("JSESSIONID", "DFGDAS12890123SDFSDF");
CookieContainer cookieContainer = new CookieContainer();
cookieContainer.Add(new Uri("http://dev.test.com"), cookie);
using (HttpClientHandler handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (HttpClient httpClient = new HttpClient(handler))
{
HttpResponseMessage message = await httpClient.GetAsync("/filedownload.json", HttpCompletionOption.ResponseHeadersRead);
message.EnsureSuccessStatusCode();
long? lFileLength = message.Content?.Headers?.ContentLength;
// TODO ....
// ....
// ....
// ....
// ....
// ....
// ....
// ....
}
}
PostAsync 메서드에는 HttpCompletionOption 옵션을 설정 할 수 없습니다 , 그 의미에 대해서 찾아보니
아래와 같은 게시글을 찾을 수 있었습니다
출처 : c# - Why does HttpClient.PostAsync buffer response? - Stack Overflow
번역 해보니 이렇습니다..
PostAsync에서 HttpCompletionOption.ResponseHeadersRead 지정을 허용하지 않는 이유는 무엇입니까? 아마도 대부분의 경우 그다지 유용하지 않기 때문일 것입니다. POST는 데이터를 검색하는 것이 아니라 데이터를 게시하기 위한 것입니다. 이것이 GET의 작업입니다. HttpClient는 HTTP 동사를 적절하게 사용하여 WebAPI 및 "REST" 서비스를 중심으로 설계되었습니다.
대응 방안은 , WAS에서 PostMapping만 처리 한다면 HttpClient.SendAsync를 사용하라는 얘기인거같습니다..
'C#' 카테고리의 다른 글
PdfSharp을 이용한 Tiff To Pdf 변환 예제 (0) | 2024.06.16 |
---|---|
BitMiracle.Docotic.Pdf를 이용한 Tiff To Pdf 변환 예제 (0) | 2024.06.16 |
[C#] HttpClient 에 CookieContainer 이용 JSESSIONID 설정 진행 예제 (0) | 2024.02.04 |
특정 위치에 파일 중복 여부 체크 하고 새로운 파일명 구하기 예제 (0) | 2023.08.23 |
C# Process.Start(string fileName) 이용 시에 0x80004005 발생 해결 방안 모색 (0) | 2023.02.28 |