---
title: Async, Blocking and .Result
slug: async-blocking-and-result
createdAt: 2025-06-11T20:26:19.222Z
---

## Issue

Using .Result with Async calls may result in blocking the current thread, deadlocks and high consumption of CPU.

## Solution

[Async Return Types (C# and Visual Basic) | Microsoft Learn](https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2013/hh524395\(v=vs.120\)?redirectedfrom=MSDN)

"The **Result** property is a blocking property. If you try to access it before its task is finished, the thread that's currently active is blocked until the task completes and the value is available. In most cases, you should access the value by using **Await** or **await** instead of accessing the property directly."

Instead of using .Result, use Activate AsyncUtils to get the result value.

```text
AsyncUtils.ExecSync(() => p.GraphClient.Users[azureUpn].Request().UpdateAsync(u));
```
