我有一个使用MonoTouch构建的本机应用程序,它使用Web服务与业务层进行通信。当设备在3G和WiFi之间切换时,我试图获得更好的行为。似乎如果应用程序以WiFi启动,它必须继续使用WiFi运行,并且无法切换到3G,反之亦然。如果我在3G下运行该应用程序,我可以启动飞行模式关闭连接并使用Wifi,我的应用程序将不会与服务通信。如果我先运行Wifi,然后将其关闭并启用3G,它就不会与我的服务层通信。
如果我杀了应用程序并再次启动它,它将正常工作。我甚至可以通过设备上的浏览器访问Safari并点击相同的服务,以验证是否有路由到达那里,但我的应用程序仍然不会与服务通信,直到它恢复到原始连接类型。我没有做任何事情来保持联系。只需按需打开和关闭HttpWebRequests。网络可达性标志始终表示我有可用的路由。
该应用程序是人们走出连接到WiFi的建筑物,可能走得足够远,他们失去了WiFi和3G参与。由于某种原因它不会切换,我不明白,因为我认为这应该是自动发生的。
答案 0 :(得分:0)
您可以确保特定网站的网络如下:
MonoTouch.ObjCRuntime.Runtime.StartWWAN (new Uri ("http://www.google.com"));