此代码现在没有错误。但是我正在尝试连接api,并且在HttpResponseMessage response = await client.PostAsJsonAsync"login/", login);
中,页面会无限收费,控制台会向我显示:El programa '[672] iisexpress.exe' terminó con código -1 (0xffffffff).
我已经验证这不是服务器的问题,因为在那种情况下,它应该收到代码404。但是相反,该页面仍会无限期地加载。
代码:
namespace Vaersacces
{
//Plantilla para datos del Login
public class LoginData
{
string user;
string pass;
public LoginData(string user, string pass)
{
this.user = user;
this.pass = pass;
}
}
//Clase Asíncrona para llamar al Web Service
public class AsyncTaskLogin
{
//Instancia de un nuevo cliente
static HttpClient client = new HttpClient();
//Se asignan los datos a la nueva instancia
public static async Task<Uri> RunAsync(LoginData login)
{
client.BaseAddress = new Uri("dirección del servidor");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
//Respuesta del servidor
System.Diagnostics.Debug.WriteLine("Entrando en CreateLoginAsync");
Uri uri = await CreateLoginAsync(login);
System.Diagnostics.Debug.WriteLine("Saliendo de CreateLoginAsync");
return uri;
}
//Método para postear un objeto tipo LoginData en formato Json
public static async Task<Uri> CreateLoginAsync(LoginData login)
{
HttpResponseMessage response = await client.PostAsJsonAsync(
"login/", login);
response.EnsureSuccessStatusCode();
return response.Headers.Location;
}
}
}