Dearl ALL,
我创建了一个xamarin app.It使用Web服务。如果只使用wifi或3g,每个连接都可以。但是当将wifi切换到3G或3G到wifi时会出现超时错误。
步骤列表如下:
1。)使用wifi在手机上启动应用程序。
2.。)尝试检索数据。结果是成功检索。
3.。)使用快速设置栏(从屏幕顶部向下拉),关闭wifi,以便您处理3G数据。
4.。)尝试再次检索数据并且无法检索。错误消息是 "操作已超时"。再试1或2分钟,结果是 相同。
5.)尝试检索数据并在第一次尝试时收到失败后,再试一次,但不能成功。
我正在使用渠道模型进行网络服务。以下是样本
nMobileSoapClient client = new nMobileSoapClient(
new BasicHttpBinding(),
new EndpointAddress("Web Service URL"));
client.InnerChannel.OperationTimeout = new TimeSpan(0, 0, 10);
client.InnerChannel.Open();
public nMobileSoapClient(System.ServiceModel.Channels.Binding binding,System.ServiceModel.EndpointAddress remoteAddress): base(绑定,remoteAddress) { }
IOS应用程序中的相同问题。
请帮我解决这个问题。
答案 0 :(得分:0)
当您连接swicth时,需要将mobilesoapclient完全重新连接以使其正常工作。因此,您需要捕获任何网络错误,然后重新初始化soapclient,然后再试一次。
希望这适合你。