2016-04-04 10 views
-3

Dearl ALL,Wenn Netzwerktyp wifi zu 3g ändern, Web-Service-Verbindung Zeitüberschreitung

Ich habe eine Xamarin app.It mit Web-Service erstellt. Jede Verbindung ist in Ordnung, wenn Sie nur WiFi oder 3g verwenden. Aber Time-out-Fehler kommen heraus, wenn Sie WLAN zu 3G ODER 3G zu Wifi schalten.

Eine Liste von Schritten ist wie folgt:

1.) Starten Sie die Anwendung auf einem Telefon Wi-Fi verwenden.

2.) Versuch, Daten abzurufen. Das Ergebnis ist ein erfolgreicher Abruf.

3.) Verwenden Sie die Schnelleinstellungsleiste (ziehen Sie vom oberen Bildschirmrand herunter), schalten Sie das WLAN aus, damit Sie 3G-Daten empfangen.

4.) Versuch, Daten erneut abzurufen und nicht abzurufen. Die Fehlermeldung lautet "Die Operation hat Timeout". Versuchen Sie es erneut in 1 oder 2 Minuten, Ergebnis ist gleich.

5.) Versuchen Sie nach dem Versuch, Daten abzurufen und einen Fehler beim ersten Versuch zu erhalten, erneut und kann nicht erfolgreich sein.

Ich verwende Channel-Modell für Web-Service. Im Folgenden finden Sie Beispiel

nMobileSoapClient client = new nMobileSoapClient(
       new BasicHttpBinding(), 
       new EndpointAddress("Web Service URL")); 
      client.InnerChannel.OperationTimeout = new TimeSpan(0, 0, 10); 
      client.InnerChannel.Open(); 

öffentlichen nMobileSoapClient (System.ServiceModel.Channels.Binding Bindung, System.ServiceModel.EndpointAddress remote): Basis (Bindung, remote) { }

gleiche Problem in IOS applicaiton .

Bitte helfen Sie mir für dieses Problem.

+0

müssen Sie einige Code, verwandte Teile teilen. – Yazan

+2

Sie müssen die Frage bearbeiten, fügen Sie die Codes für das Problem hinzu, damit andere Leute Sie durch diese lösen/führen können. ** ich benutze android, um service anzurufen ** ist nicht genau und nicht hilfreich – Yazan

+1

wenn ich die obige frage mit den bereitgestellten details beantworten möchte, wird meine antwort lauten: verwenden sie einen 'BroadcastReceiver' – Yazan

Antwort

0

Wenn Sie die Verbindung überwachen, muss der mobilesoapclient vollständig reinitialisiert werden, damit er funktioniert. Daher müssten Sie alle Netzwerkfehler abfangen und den soapclient erneut initialisieren und es erneut versuchen.

Hoffentlich funktioniert das für Sie.

+0

Vielen Dank für Ihre Antwort. @Libin Joseph. \t Könnten Sie einen Link oder eine Probe teilen, wie Sie den mobileSOAPClient reintialisieren? – TunTun

Verwandte Themen