Android应用程序随机断开与WCF web服务的连接

本文关键字:web 服务 连接 WCF 应用程序 随机 断开 Android | 更新日期: 2023-09-27 17:57:56

我们使用WCF创建的后端为客户端设计了一个Android和iOS应用程序。

我们有一种方法,允许用户在某个地理位置登记预约。

这两款应用程序都能找到服务器并获取数据,但安卓应用程序只有50%的时间有效(iOS版本100%有效)。我试过Wifi和Cellular,结果都一样。

最大的问题是,我甚至无法确定问题是与客户端还是服务器有关,或者我应该如何处理?

我读到这可能是由于未关闭的httpURLConnection,但这是我目前唯一真正的线索。

请帮忙!!!

感谢

Android应用程序随机断开与WCF web服务的连接

由于它在android和iOS上的工作时间只有一半,所以在我看来,问题可能只是网络问题。它只是发生在一些网络环境中,在一些设备上,或者在一些具有特定android java版本的设备上。我想你什么都做不了。当我开始有这些问题的时候,我总是碰到一个关于网络编程谬论和CAP定理的简单事实:网络是可靠的。所以事实是网络是不可靠的,你应该在你的解决方案中考虑它。

http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computinghttp://en.wikipedia.org/wiki/CAP_theorem

可能是这个问题有时也会导致成功的请求,但没有响应问题。同样,与上述几乎相同的网络故障问题,您可以做的是处理可能的超时异常等,并在服务器和客户端上适当处理。因此,如果有像submittingSomePayment这样的方法,就不要使用普通的WCF方法,而是使用企业服务总线,将消息存储到队列中并进行处理,然后进行额外的调用来检查结果。例如,请参见CQRS模式。

http://msdn.microsoft.com/en-us/library/jj591573.aspx

我知道,帮助不大。但一个可能的答案和我的想法。因为它也惹恼了我。因此,你可能无法对此采取任何措施(除了最终用户自己处理网络问题)。

我还将请求记录在WCF服务方法调用的核心开头,以排除任何内部WCF行为(排除猜测是代码中的一个问题)。如果您仍然确信问题出在代码中,那么登录服务器和客户端将是一种可能的方式。还可以看到,这是发生在所有的android设备上(LG,…等),还是只在某些java版本中发生。