首页 > 解决方案 > 如何在 CreateLoginAsync() 中实例化一个新的 LoginData 对象而没有错误

问题描述

此代码现在没有错误。但我正在尝试与 api 连接,并且在HttpResponseMessage response = await client.PostAsJsonAsync"login/", login);页面中无限收费,控制台向我显示:Elprograma '[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;
    }


}

}

标签: c#asp.netrest

解决方案


推荐阅读