Response.Redirect issue with Asp.net async
asp.net, async-await, c#, response.redirect
Solution
This code will work in a brand new project, but, does not work with a new page in our existing code.
I assume your existing site has already been upgraded to .NET 4.5.
The first thing to check is that `httpRuntime.targetFramework` is set to `4.5`. This is not set by default when you upgrade.
Edit from comments:
Another thing to check (just in case) is that `Page.Async` is set to `true`.
In this case, the solution was to call `Response.Redirect("http://www.google.com", false)`, which explicitly passes `false` for the `endResponse` parameter. The default value of `true` is only for backwards-compatibility reasons as described here.
Problem
I'm new to asp.net 4.5 async and am running into the following with calling response.redirect within an async method. The issue is that the response just "hangs" Has anyone else experienced similar issues with attempting an redirect with async? This code will work in a brand new project, but, does not work with a new page in our existing code. I made sure to gut out everything I could out of our web.config and removed our master page. Hitting a brick wall...any ideas? Thanks! ``` protected void Page_Load(object sender, EventArgs e) { RegisterAsyncTask(new PageAsyncTask(PageLoadAsync)); } private async Task PageLoadAsync() { var data = await GetData(); if (data == HttpStatusCode.OK) Response.Redirect("http://www.google.com"); } private async Task<HttpStatusCode> GetData() { using (var client = new HttpClient()) { var response = await client.GetAsync("https://www.google.com"); return response.StatusCode; } } ```