Skip to main content

Posts

Showing posts from April, 2018

Async Task .Result or .Wait() not working in MVC web application

I had a piece of async code that worked as a console application in Visual Studio 2015. I had to move this code into my MVC web application.

In the code, basically you pass an ID to an Api and it returns a document corresponding to that ID. The issue was, there needed to be 2 calls to the Api. As part of the first call you pass the ID and the Api returned a filename. You then pass the filename to the second call and it returns the corresponding document.

This worked fine in a console application. But when I tried to port it into a MVC web application it did not work. Frankly async calls work fine in MVC applications, but in instances like mine, I needed the code to be synchronous, since the second call to the Api should only start after the first call returns valid data. I even tried to make the code synchronous, but this just caused my application to hang at the .Result line (code below)


ORIGINAL CODE: var fileName = await obj.PostAsync(); await obj.DownloadFile("fileId=" +…