以xamarin形式从rest api中检索数据

问题描述 投票:0回答:1

我创建了一个带有wcf的web服务,它获取了两个字符串参数并给出了一个字符串值,这个Web服务在IIS中托管并且它正常工作,这是我的代码的一部分,它提供了json格式:

[OperationContract]
    [WebInvoke(UriTemplate = "AuthUserPass", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    string AuthUserPass(string UserName);

现在我想以xamarin形式从这个服务中检索数据,但我不知道该怎么做:我的代码是:

    public async Task<int> AuthUserPassAsync(string username,string password)
    {
        int sessionResponseJson = 1000;
        var uri = new Uri(string.Format(Constants.AuthUrl, string.Empty));

        Users userJson = new Users();
        userJson.UserName = username;
        userJson.Password = password;

        var json = JsonConvert.SerializeObject(userJson);
        var content = new StringContent(json, Encoding.UTF8, "application/json");
        var response = await client.PostAsync("login", content);

        var result = response.Content.ReadAsStringAsync().Result;
        if (result != "")
        {
            sessionResponseJson = JsonConvert.DeserializeObject<int>(result);
        }
        return sessionResponseJson;

}

c# json wcf xamarin.forms restful-authentication
1个回答
0
投票

从我的Web服务方法我可以看到,它只需要一个字符串参数'UserName'

    string AuthUserPass(string UserName);

在调用Web服务方法时,您传递的对象有两个字段'UserName'和'Password'

    Users userJson = new Users();
    userJson.UserName = username;
    userJson.Password = password;

你能理解的是不正确的。我相信修复它会解决你的问题。要修复,您可以将Web服务方法参数类型更改为类型,其中包含UserName和Password字段。

© www.soinside.com 2019 - 2024. All rights reserved.