In Silverlight habe ich das folgende Problem. Wenn Sie mehrere Anforderungen an den Webdienst senden, werden die Antworten möglicherweise nicht in einer geordneten Reihenfolge zurückgegeben. Das heißt, wenn die erste Anforderung dauert länger als die folgenden, ihre Antwort schließlich zurück:Löschen veralteter WCF-Antworten in Silverlight
1. Sending request A.. (takes longer for some reason)
2. Sending request B..
3. Sending request C..
4. ...
5. Receiving response B
6. Receiving response C
7. Receiving response A
Jetzt in meinem Szenario, bin ich daran interessiert sind nur in den meisten kürzlich erfolgte Anfrage gemacht. Also sollten A und B discarded sein und C sollte als einzige akzeptierte Antwort gehalten werden.
Was ist der beste Ansatz, um dies zu verwalten? Ich habe diese Lösung bisher gefunden:
Übergeben Sie eine generierte GUID als Benutzerobjekt beim Senden der Anfrage und speichern Sie diesen Wert irgendwo. Da alle Antworten ihre jeweilige GUID enthalten, können Sie nun die veralteten Antworten herausfiltern. Ein Anforderungszähler anstelle einer GUID würde ebenfalls funktionieren.
Jetzt frage ich mich, ob es irgendwelche besseren Ansätze dazu gibt. Vielleicht gibt es irgendwelche Out-of-the-Box-Funktionen, um dies zu ermöglichen? Irgendwelche Ideen sind willkommen.