|You have a classic deadlock.
await signs the rest of the method up to run as a continuation when the awaited task completes. By default, it will be scheduled to run in the same execution context as the caller.
.Result on a task blocks the current thread until the task has completed. But the task can't complete until the continuation has run on the current execution context. Which can't happen until the current thread is un-blocked. Which can't happen until the task has completed.
The quick-and-dirty fix is to add
.ConfigureAwait(false) to your awaited tasks. That allows the continuation to run on a different thread:
var liste = await client.GetManyAsync().ConfigureAwait(false);
The best solution would be to move your work to a proper task-returning
async method, and register that as an async task:
private void Page_Load(object sender, EventArgs e)
private async Task LoadAsync()
List<ServerConfig> list = await Index();
Using Asynchronous Methods in ASP.NET 4.5[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."