尝试使用WebAPI从Windows Phone 8应用连接到ms-azure上的MVC服务器时出错

AvCo148

我对所有这些技术都有些陌生,所以我会尽量保持清楚。

我正在编写一个Windows Phone应用程序,该应用程序将字符串格式的数据发送到服务器:

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上通过各种浏览器返回正确的答案,而在移动仿真器中则返回正确的答案。

有什么建议?

阿斯塔科夫

如果查看一下正在使用的UploadStringAsync重载的文档,您会注意到它使用POSTmethod发送数据在控制器中时,您仅实现了GET为了你

您必须使用UploadStringAsync的其他重载,它允许您指定要使用的HTTP VERB。并且您必须指定GET您的客户代码应转换为:

webClient.UploadStringAsync(uri,"GET", FullSTR);

对于GET像您这样的简单操作,最好的解决方案是实际使用DownloadStringAsync

var fullUri = new Uri("http://pricequeryserver.azurewebsites.net/api/ReceiptDataService/?incomingdata=" + FullStr);
webClient.DownloadStringAsync(fullUri);

无论如何,您的问题与Windows Azure无关,因此与已删除的标签无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Windows Phone 8连接到已经托管在服务器上的SQL Server数据库

尝试在同一服务器上连接Jenkins和Azure DevOps时出错

如何将Windows Phone 8连接到数据库并向其应用Azure同步数据?

尝试从Gitea连接到AD服务器时出错

在 Windows Phone 8.1 应用程序中连接到 SQLite 数据库时出错

使用IDE连接到Openshift服务器时出错

在Windows Phone 8中使用HttpClient执行POST时发生内部服务器错误

将Windows Phone和Windows 8应用程序连接到SQL Server

WinError 10060尝试使用Python PySFTP模块连接到远程服务器时出错

如何从Windows Phone 8中的Windows Phone仿真器连接到无线网络?

在Windows Phone 8.1上运行Windows Phone 8应用

在逻辑应用程序中使用服务主体连接到 MS Forms 连接器

<urlopen错误隧道连接失败:403禁止>在pythonanywhere服务器上使用geopy时出错

使用我的 Nuxt 应用程序在 Plesk 服务器上构建时出错

连接到 MS SQL 服务器时出错

Android - 尝试连接到本地服务器时出错(Xampp)

断开连接后尝试连接到SignalR服务器时,应用程序崩溃

从Azure逻辑应用连接到Azure SQL服务器时出错

错误:无法连接到服务器 127.0.0.1:27017,连接尝试失败:SocketException:连接到 127.0.0.1:27 时出错

将Linux服务器上的PHP连接到运行Windows的远程服务器上的MS SQL

当我使用“ sslmode = verify-full”时,无法连接到Azure上的Postgres服务器

使用 JDBC SQL 服务器连接查询时出错

创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

在Windows Phone 8上使用Cookie

使用C#和.NET 4.5连接到SSL服务器时出错

使用JSP在tomcat服务器中连接到Oracle数据库时出错

使用JDBC连接到远程MySQL(主机gator)服务器时出错

尝试将数据从Spring应用程序发送到远程服务器上的mongodb时出错

尝试连接到蓝牙服务器时连接被拒绝