Windows phone 8 尝试使用webapi从windows phone 8应用程序连接到Microsoft azure上的mvc服务器时出错
我对所有这些技术都有点陌生,所以我会尽可能地说清楚 我正在编写一个windows phone应用程序,它以字符串格式向服务器发送数据:Windows phone 8 尝试使用webapi从windows phone 8应用程序连接到Microsoft azure上的mvc服务器时出错,windows-phone-8,asp.net-web-api,Windows Phone 8,Asp.net Web Api,我对所有这些技术都有点陌生,所以我会尽可能地说清楚 我正在编写一个windows phone应用程序,它以字符串格式向服务器发送数据: public class sendDataControl { private string response = ""; public void sendToServer(string FullSTR) { try { WebClient webClient = new WebCl
public class sendDataControl
{
private string response = "";
public void sendToServer(string FullSTR)
{
try
{
WebClient webClient = new WebClient();
Uri uri = new Uri("http://pricequeryserver.azurewebsites.net/api/ReceiptDataService/?incomingdata=");
webClient.UploadStringAsync(uri,FullSTR);
webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(webClient_UploadStringCompleted);
}
catch (Exception ex)
...
...
}
}
void webClient_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
if (e.Error != null)
{
responseXml=e.Error.Message;
MessageBox.Show(responseXml);
return;
}
else
{
responseXml = e.Result;
}
}
}
服务器是一个MVC4,基本的,带有我添加的api控制器,需要从移动设备获取发送的数据
作为一个测试,我只是返回一个我发送的字符串:
public class ReceiptDataServiceController : ApiController
{
private ReceiptContext db = new ReceiptContext();
...
...
public string GetDataFromMobile(string IncomingData)
{
return IncomingData;
}
}
运行应用程序时,我通过responseXml收到一个错误:
远程服务器返回错误:NotFound
在IIS和azure上,服务器从各种浏览器返回正确答案,但不从移动仿真器返回正确答案
有什么建议吗?如果您查看了的文档,您会注意到它使用POST方法发送数据。而在控制器中,您只实现了GET。为了你的 您必须使用other,它允许您指定要使用的HTTP谓词。您必须指定GET。您的客户端代码应转换为:
webClient.UploadStringAsync(uri,"GET", FullSTR);
对于像您这样的简单GET操作,最好的解决方案是实际使用:
无论如何,您的问题与Windows Azure无关,因此删除了标签。谢谢,效果很好。我添加了azure标记,因为它在IIS上不起作用。
var fullUri = new Uri("http://pricequeryserver.azurewebsites.net/api/ReceiptDataService/?incomingdata=" + FullStr);
webClient.DownloadStringAsync(fullUri);