我有一个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的方式相同?
答案 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();
}