본문 바로가기
C#

[C#] Async/Await, Task.result

by Jcoder 2021. 4. 12.

Await 와 result의 차이 질문 - ⁉️ .NET Overflow (Q&A) - 닷넷데브 (dotnetdev.kr)

 

Await 와 result의 차이 질문

c# - Await vs Task.Result in an Async Method - Stack Overflow c# - How does Task become an int? - Stack Overflow 이 질문과 비슷하게 async task에서 await와 그냥 void에서 task.result의 차이를 위 링크에서 읽어봤는데 잘 이해가

forum.dotnetdev.kr

async task에서 await와 그냥 void에서 task.result의 차이가 궁금해 참고 링크 정리

      public async Task<bool> POSTDataTaskAsync(object json, string url)
      {
         using (var content = new StringContent(JsonConvert.SerializeObject(json), System.Text.Encoding.UTF8, "application/json"))
         {
            using (HttpResponseMessage result = await httpClient.PostAsync(url, content))
            {
               if (result.StatusCode.Equals(HttpStatusCode.Created))
                  return true;

               string returnValue = await result.Content.ReadAsStringAsync();
               throw new Exception($"Failed to POST data: ({result.StatusCode}): {returnValue}");
            }
         }
      }

      public bool POSTDataAsync(object json, string url)
      {
         using (var content = new StringContent(JsonConvert.SerializeObject(json), System.Text.Encoding.UTF8, "application/json"))
         {
            using (HttpResponseMessage result = httpClient.PostAsync(url, content).Result)
            {
               if (result.StatusCode.Equals(HttpStatusCode.Created))
                  return true;

               string returnValue = result.Content.ReadAsStringAsync().Result;
               throw new Exception($"Failed to POST data: ({result.StatusCode}): {returnValue}");
            }
         }
      }

 

 

dotnetdev의 디모이님(dimohy) 답변

 

forum.dotnetdev.kr/t/await-result/640/2?u=tjdskaqks

 

Await 와 result의 차이 질문

간단하게 대답하기 어려운 부분도 있네요. 먼저, async/await 에 대해 심도있게 개념을 파악해 보시는것을 먼저 추천을 드립니다. 질문에 대한 간략한 답은, await는 비동기 대기, Task의 Result는 동기

forum.dotnetdev.kr

dotnetdev의 남정현님(rkttu) 답변

forum.dotnetdev.kr/t/await-result/640/7?u=tjdskaqks

 

Await 와 result의 차이 질문

이 글도 꼭 읽어보시기를 추천드립니다. https://blog.stephencleary.com/2012/07/dont-block-on-async-code.html 문제가 발생하면 디버깅해보는 것이 맞지만, deadlock을 예방하기 위한 기본적인 패턴으로 제가 즐겨

forum.dotnetdev.kr

 

 

참고 링크 : 

c# - Await vs Task.Result in an Async Method - Stack Overflow

 

Await vs Task.Result in an Async Method

What's the difference between doing the following: async Task method(){ var r = await dynamodb.GetItemAsync(...) return r.Item; } vs async Task method(){ var task =

stackoverflow.com

c# - How does Task<int> become an int? - Stack Overflow

 

How does Task become an int?

We have this method: async Task AccessTheWebAsync() { HttpClient client = new HttpClient(); Task getStringTask = client.GetStringAsync("http://msdn.microsoft.com"...

stackoverflow.com

Async and Await - Here be dragons.md (github.com)

 

Async and Await - Here be dragons.md

GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

AspNetCoreDiagnosticScenarios/AsyncGuidance.md at master · davidfowl/AspNetCoreDiagnosticScenarios (github.com)

 

davidfowl/AspNetCoreDiagnosticScenarios

This repository has examples of broken patterns in ASP.NET Core applications - davidfowl/AspNetCoreDiagnosticScenarios

github.com

Don't Block on Async Code (stephencleary.com)

 

Don't Block on Async Code

This is a problem that is brought up repeatedly on the forums and Stack Overflow. I think it’s the most-asked question by async newcomers once they’ve learned the basics. UI Example Consider the example below. A button click will initiate a REST call a

blog.stephencleary.com

.NET Framework: 720. 비동기 메서드 내에서 await 시 ConfigureAwait 호출 의미 (sysnet.pe.kr)

 

.NET Framework: 720. 비동기 메서드 내에서 await 시 ConfigureAwait 호출 의미

.NET Framework: 720. 비동기 메서드 내에서 await 시 ConfigureAwait 호출 의미 [링크 복사], [링크+제목 복사] 조회: 10414 글쓴 사람 정성태 (techsharer at outlook.com) 홈페이지 첨부 파일 [configure_await_sample.zip]   

www.sysnet.pe.kr

 

'C#' 카테고리의 다른 글

[C#] WPF - OpenCV, Cam 출력  (0) 2021.04.16
[C#] 윈도우 마이크 컨트롤 2 (AudioSwitcher, NAudio)  (0) 2021.04.13
[C#] Best Way Byte To Hex  (0) 2021.04.11
[C#] 윈도우 마이크 컨트롤 (AudioSwitcher, NAudio)  (0) 2021.04.06
[C#] PDF 읽기  (0) 2021.02.27