Quando chamo o metodo GetLogin(param1, param2) de dentro da classe AcessoBD a linha do PostAsync trava e não continua. Ao retirar o método da classe funciona normalmente, segue abaixo o código no qual o PostAsync trava.
async void Handle_Clicked(object sender, System.EventArgs e)
{
AcessoBD login = new AcessoBD(usuario,senha);
if (login.GetLogin().Result)
{
Application.Current.MainPage = new MenuPage();
}
else
{
await DisplayAlert("Login", "Usuário/Senha inválido", "OK");
}
}
public class AcessoBD
{
const string URLWS = "http://aluracar.herokuapp.com";
const string URL_SALVA_AGEND = "https://aluracar.herokuapp.com/salvaragendamento";
const string URL_LOGIN = "https://aluracar.herokuapp.com";
string usuario = "";
string senha = "";
public AcessoBD(string Usuario, string Senha)
{
this.usuario = Usuario;
this.senha = Senha;
}
public async Task<bool> GetLogin()
{
HttpClient cliente = new HttpClient();
FormUrlEncodedContent camposFormulario = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("email", usuario),
new KeyValuePair<string, string>("senha", senha)
});
//cliente.BaseAddress = new Uri(URL_LOGIN);
var confirma = await cliente.PostAsync("https://aluracar.herokuapp.com/login", camposFormulario);
return confirma.IsSuccessStatusCode;
}
}