WP7 HttpWebRequest POST,服务器返回;{结果:';ok';}\';在emulator中,但是;错误:NotFound";在设备上

WP7 HttpWebRequest POST,服务器返回;{结果:';ok';}\';在emulator中,但是;错误:NotFound";在设备上,http,windows-phone-7,post,httpwebrequest,Http,Windows Phone 7,Post,Httpwebrequest,我正在尝试从我的WindowsPhone7应用程序向web服务发送一个非常基本的http帖子。我知道web服务工作得很好,因为我在其他三个移动平台上使用它 我修改了C#示例 在emulator中运行时,我从服务器接收到“{result:'ok'}”,但在Samsung Focus上运行时收到“error:NotFound”。我假设这与手机上的字符串转换为字节[]的方式有关,而不是桌面电脑 有什么解决办法吗?可能这是一个已知错误,我从未在网上搜索过答案?我在应用程序上使用此解决方案,但我的post

我正在尝试从我的WindowsPhone7应用程序向web服务发送一个非常基本的http帖子。我知道web服务工作得很好,因为我在其他三个移动平台上使用它

我修改了C#示例

在emulator中运行时,我从服务器接收到“{result:'ok'}”,但在Samsung Focus上运行时收到“error:NotFound”。我假设这与手机上的字符串转换为字节[]的方式有关,而不是桌面电脑


有什么解决办法吗?可能这是一个已知错误,我从未在网上搜索过答案?

我在应用程序上使用此解决方案,但我的postData看起来像
postData.Append(“test=123”)
。我不使用边界(我以为边界只用于邮件?

我的request.ContentType也是
request.ContentType=“application/x-www-form-urlencoded”

我终于发现我的手机的唯一ID/设备ID中有一个正斜杠。当我在以下位置构造web服务Uri时,这导致了一个问题:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.JSON_URL_PREFIX + Settings.Settings.DeviceID + "/inquiry/new/");
Uri仿真器示例:
Uri设备示例:

显然,它在emulator中运行良好,因为emulator的设备ID中没有正斜杠。本质上,我试图发布到的Uri是不正确的

有点晦涩难懂


谢谢Opena和Matt。您的建议给了我一些尝试,并最终帮助我发现了问题。

请求是否到达服务器?你能从设备上的IE连接到服务器吗?是的,请求到达服务器。我知道这一点,因为我从服务器得到了响应。这不仅仅是超时。是的,我可以在设备上连接到IE中的web服务。如果您的设备(通过IE)无法连接到服务器,那么这应该是您的第一个调查点。如果无法从设备连接到服务器,对代码的更改将不会有帮助。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Constants.JSON_URL_PREFIX + Settings.Settings.DeviceID + "/inquiry/new/");