简体   繁体   中英

Windows phone HttpClient PostAsync hang with no response

I am having problem in calling the HttpClient post method from WP application.The PostAsync always hangs and does not give any response.The same code works when i try it from WPF application. Here is what I am doing:

Server Web API code

public class GameController : ApiController
{
[HttpPost]

public GameDto CreateGame(GameDto gameDto)
        {
            try
        {
            GameManager bl = new GameManager();
            gameDto = bl.CreateGame(gameDto);
            return gameDto;
        }
        catch (Exception)
        {

            throw;
        }
    }
}

Client WP8 code calling from class library

private async void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {


 HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:59580");
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));               
GameDto newGame = new GameDto();
                newGame.CreatedBy = 1;
            newGame.Name = txtGameName.Text;
            newGame.GameTypeId = (int)cmbGameType.SelectedValue;
             MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();
             var response = await client.PostAsync<GameDto>("api/Game/CreateGame", newGame, jsonFormatter);
            response.EnsureSuccessStatusCode(); // Throw on error code.
            var userDto = await response.Content.ReadAsAsync<GameDto>();
            //_products.CopyFrom(products);
            MessageBox.Show(userDto.Id.ToString());
        }
        catch (Exception)
        {

            throw;
        }

    }

Checkout This Answer res.olved my issue. Use ConfigureAwait

var result = await httpClient.GetStreamAsync("weeklyplan")
                         .ConfigureAwait(continueOnCapturedContext:false);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM