从Windows Phone 8调用Web方法

时间:2014-11-18 16:44:18

标签: c# windows-phone-8 webmethod

我有一个ASP.NET Web窗体应用程序。

我还有一个HTML5 Web App,可以在我的代码页面后面调用Web方法。

我的asp代码页面后面定义的典型方法是:

//在login.aspx页面后面的代码中

[WebMethod]
public static string Login(string username, string password)
{
   //do something
}

在我的HTML5 Web App中,我会称之为:

        jQuery.support.cors = true;
        $.ajax({
            crossDomain: true,
            type: "POST",
            url: "Login.aspx/Login",
            data: JSON.stringify({
                username: usernameentered,
                password: passwordentered
            }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $(msg.d).each(function () {
                    if (this['Success'] == 1) {
                       //process login 
                    }
                    else {
                       //process server error
                    }
                });
            },
            error: function (msg) {
              //handle error
        });
    });

现在请记住,我不想在此时转移到Web API和MVC(最终会做),而且我不想调用Web服务(asmx)或WCF服务,我怎么还能调用这个web该页面中的方法与我通过JavaScript但通过C#Windows Phone 8的方式相同?

1 个答案:

答案 0 :(得分:1)

您可以使用HttpClient

using (var client = new HttpClient())
{
    var resp = await client.PostAsJsonAsync("http://your host/Login.aspx/Login", 
                                             new { username = "", password = "" });

    var str = await resp.Content.ReadAsStringAsync();
}