我正在尝试POST到ASP.Net Web API控制器。
我能够在模拟器中使用它,所有数据都从应用程序发布到我的远程SQL数据库,并返回正确的响应。但是,当我在设备上测试时,我收到一个NotFound错误,POST没有发生。
这是在模拟器上运行的代码。
private void button_Click(object sender, RoutedEventArgs e)
{
string parameters = "firstname=" + settings["firstname"] + "&age=" + settings["age"];
WebClient client = new WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
client.Headers["Content-Type"] = "application/x-www-form-urlencoded";
client.Encoding = Encoding.UTF8;
client.UploadStringAsync(new Uri("http://www.myurl.com/api/controller"), "POST", parameters);
}
void client_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
MessageBox.Show(e.Result);
}
它在模拟器中工作正常,但是当我在设备上测试时,e.Result返回Not Found!
我在装有WiFi的设备上进行了测试,仅使用3G,以防万一我的互联网连接发生了奇怪的事情。
这是POST数据的正确方法吗?阿米我错过了什么?我见过其他人推荐的RestSharp。这是更好的方式吗?
如果有人能够提供一个快速的例子,那将非常感激!
谢谢! 斯