Ich weiß, das ist ein heißes Thema auf StackOverflow, aber ertragen Sie mit mir.Silverlight, WCF und NotFound, oh mein
Wir haben eine Silverlight 3-Anwendung, die mit einem WCF-Dienst kommuniziert. Hin und wieder geben Aufrufe an den WCF-Dienst eine NotFound-Ausnahme zurück.
Ich habe so ziemlich jeden Beitrag auf SO und Google zu diesem Thema gelesen, aber ich kann nicht herausfinden, was schief läuft. Hier einige meiner Ergebnisse:
- Die Ausnahme passiert bei zufälligen Aufrufen und zufälligen Momenten. Manchmal funktioniert eine Methode 50 Mal und plötzlich kommt es zu Fehlern. Ich habe das Gefühl, dass es mit einem Timeout zusammenhängt, da es am besten reproduzierbar ist, wenn ich die Anwendung eine Weile im Leerlauf lasse, bevor ich einen Anruf tätige, aber das ist nicht immer der Fall - manchmal scheitert der erste Anruf in der Anwendung.
- Wir verwenden das SilverlightFaultBehavior, um den HTTP-Fehlercode in 200 zu konvertieren, und wir haben viele Instanzen, bei denen eine Ausnahme auf der Serverseite tatsächlich auf die Clientseite aufblubbert, also kann ich bestätigen, dass dies wie erwartet funktioniert.
- Fiddler zeigt in dem Moment, in dem die Ausnahme auftritt, nichts Besonderes an. Ich sehe den fraglichen Anruf nicht einmal. Das beunruhigt mich, aber es könnte bedeuten, dass die Ausnahme das Ergebnis eines Anrufs ist, der vor ein paar Minuten passiert ist und das Zeitlimit überschritten hat?
- Service Trace Viewer zeigt nichts an.
- Ich füge Visual Studio an Silverlight-Projekt und an das WCF-Dienstprojekt an, setze Debugging, um alle Ausnahmen (geworfen oder behandelt) zu unterbrechen, und es bricht nicht (außer in Silverlight, um mir über das NotFound-Problem zu erzählen). Das veranlasst mich zu denken, dass der NotFound möglicherweise nicht auf eine Ausnahme auf der WCF-Dienstseite reagiert?
Ich habe wirklich keine Ahnung, wohin ich von hier gehen soll. Jede Hilfe, alle Hinweise oder Ideen zu versuchen, sind willkommen.
Hallo, ich weiß, es ist ein alter Post, aber ich habe das gleiche Problem. Konnten Sie dieses Problem lösen? – Luis