2010-11-22 96 views
1

我有一个WP7应用程序,我一直在通过模拟器开发。这个应用程序发送几个Web请求并等待响应。它可以在模拟器上正常工作,但在手机上它只能在wifi上工作。有任何想法吗?在移动网络上的HTTP请求失败,在WiFi上罚款

编辑:在移动网络上,应用程序在第一次请求完成后关闭。我很确定这里有一些异常,因为这是应用程序在没有用户输入的情况下关闭的唯一时间。为了进一步加剧我住在没有移动覆盖的地区的问题,所以我不能用附加的debuger进行测试。

编辑:好的测试完成,似乎我发送的第一个请求返回null。这只有当一个小区网络上,它适用于WIFI

这里罚款的情况是请求:

RequestUrl = String.Format("https://www.o2online.ie/amserver/UI/Login?org=o2ext&IDToken1={0}&IDToken2={1}", UserName, Password) 
+0

你还没有告诉我们在移动网络上会发生什么*。 – 2010-11-22 12:13:26

+0

啊,这将是一个好主意,我现在编辑。 – deanvmc 2010-11-22 12:14:16

+0

您是否收到失败请求的回复? – 2010-11-22 12:37:26

回答

1

通过允许请求等待完整响应,确定它工作:

  _httpRequester.AllowReadStreamBuffering = true; 

n现在问题是ext。由于我只需要前100个字符的请求是否有任何方法来设置缓冲区大小?我正在使用响应HTML来验证我是否正确登录。这在WiFi上运行速度快,但在GSM上运行速度并不快(3g也可以,最糟糕的计划也是如此)。

2

如果WMAppManifest.xml不包括ID_CAP_NETWORKING能力,我会检查:

<Capabilities> 
    <Capability Name="ID_CAP_NETWORKING"/> 
    ... 
</Capabilities> 
+0

刚刚检查过,它在那里。 – deanvmc 2010-11-22 13:54:34

+0

你可以在Application.UnhandledException处理程序中显示一个messageBox吗?或者应用程序被终止,甚至没有引发异常? – 2010-11-22 14:12:23

+0

还没有尝试过,我会尝试并报告回来。 – deanvmc 2010-11-22 15:39:02