WPF 앱에서 데이터 가져오는 부분인데요, 아래처럼 동기 메서드 안에서 async를 .Result로 받아왔더니 UI가 완전히 얼어붙어서 응답이 없습니다. 예외가 터지는 것도 아니고 그냥 영원히 대기 상태예요.


public string GetData()
{
return GetDataAsync().Result;
}


async Task<string> GetDataAsync()
{
var s = await http.GetStringAsync(url);
return s;
}


콘솔 앱에서 똑같이 짜면 잘 도는데 유독 UI 앱에서만 이래서 더 헷갈리네요. 혹시 http.GetStringAsync가 문제인가 싶어서 다른 걸로 바꿔봐도 똑같이 멈춥니다. 이거 왜 이러는 건가요? 데드락 비슷한 거라는 얘기는 들었는데 async 하나 부르는 게 뭐가 서로 대기까지 하는지 잘 이해가 안 돼요. 급하게 해결해야 되는 거라 도움 좀 부탁드립니다.