如何从Android客户端调用REST WCF服务

时间:2015-12-02 21:25:36

标签: c# android wcf rest

我正在一个项目中工作,我必须从Android客户端应用程序访问用于用户身份验证的后端服务。因此,我创建了一个WCF REST服务,它具有以下结构。

    //<summary>
    // Checks whether user is exists or not
    // </summary>
    // <param name="UserName"></param>
    // <param name="Password"></param>
    // <returns></returns>

    [OperationContract]
    [WebGet(UriTemplate = "IsUserExist/{UserName}/{Password}", ResponseFormat = WebMessageFormat.Json)]
    bool IsUserExist(string UserName, string Password);


    // <summary>
    // Log the time of specified user
    // </summary>
    // <param name="UserName"></param>
    [OperationContract]
    [WebGet(UriTemplate = "LogTime/{username}", ResponseFormat = WebMessageFormat.Json)]
    string LogTime(string UserName);

我已成功将其部署在IIS中。我可以轻松地从浏览器调用服务来执行用户身份验证,这很好。

http://localhost:9001/HNNDataSerivce/LogInService.svc/IsUserExist/Bob/pass123
http://localhost:9001/HNNDataSerivce/LogInService.svc/LogTime/Bob

此服务调用分别返回所需的值为boolean和string。

现在我想从Android客户端进行相同的服务调用。为此,我创建了一个带有文本框和按钮的简单演示应用程序。用户在文本框中指定用户名和密码,当用户单击按钮时,我想实现以下身份验证过程。

    public void LoginButtonClick(View v) {
    if(IsUserExist(UserName, Password))
        LogTime(UserName)
    else
    // show invalid user message

}

1 个答案:

答案 0 :(得分:0)

这是一个简单的REST客户端库,您可以从Android调用它。有一个Android样本。

https://github.com/MelbourneDeveloper/RestClient.Net

代码全部是开源代码,因此您可以根据需要抓取所需的位。

编辑:回购从Bitbucket转移到Github