Benötigen Sie eine Expertenmeinung zu dieser Fallstudie.Dispatcher/Proxy (Client) Erweiterungen für besseren Durchsatz des WCF-Dienstes
Problemstellung/Szenario: Mein WCF-Client/Proxy benötigt ständig einige Sperrdaten vom relevanten WCF-Dienst. Genauer gesagt, ich habe einen WCF-Dienst, der Standortdaten (Stadt/Land usw.) aus einer Datenbank bereitstellt (obwohl Daten im Service zwischengespeichert werden). Einige, wie ich Serialisierung/DeSerialisierung vermeiden möchte (Objekt enthält eine Menge von verbundenen Eigenschaften sowie innere Objekte) Kosten und Service Operation Ausführung für besseren Durchsatz.
Wenige Tage zurück habe ich WCF Verhaltensweisen/WCF-Erweiterungsmethoden untersucht. Ich habe einen interessanten Artikel auf MSDN (http://msdn.microsoft.com/en-us/magazine/cc163302.aspx) gefunden. Nachdem ich diesen Artikel gelesen hatte, dachte ich, dies könnte mir helfen, die Leistung meines Dienstes zu verbessern. Bevor ich dies umsetze, möchte ich bestätigen, dass entweder ich in die richtige Richtung denke oder eine andere Lösung mein Problem lösen kann.
Ich denke, zu implementieren, Dispatcher-Erweiterungen, um dieses Problem anstelle von Proxy (Client) Erweiterungen zu lösen. Ich habe folgende Fragen?
I) Wo (Proxy/Service Level) muss ich Erweiterungen implementieren? II) Bei der Implementierung von Dispatcher-Erweiterungen wird mein Anruf nicht an den tatsächlichen Dienst gesendet und ich spare Serialisierungs-/DeSerialisierungskosten. Richtig falsch? III) Implementieren von Dispatcher-Erweiterungen in meinem Fall ist auch besser, denn warum müssen Sie sich nicht darum kümmern, welche Proxy-Schnittstelle-Methodeaufruf aufgetreten ist, wie Caching-Logik auf der Dienstseite ist. Richtig falsch?
Bitte schlagen Sie mir eine bessere Lösung, wie ich Serialisierung/DeSerialization Kosten sparen möchte, sowie ich Datencache implementieren möchte.
Vielen Dank im Voraus /Rizwan
Was passiert, wenn mehrere Anwendungen meinen Dienst und jede Anwendung verwenden, haben sie eigene Proxy ist Class-Cache-Daten am Ende und schließlich Dateninkonsistenz beim Dienst. Zum Beispiel, rufen Proxy1 den Location Service und fragen Sie nach Standort 'London' Daten, Dienst dient Proxy1 Anruf und geben Sie Daten an und Proxy1 zwischengespeichert. Jetzt ruft Proxy2 den Dienst auf und aktualisiert den Ort 'London', der Dienst bedient Proxy2 und aktualisiert die Daten auf dieser Seite und Proxy2 speichert sie zwischen. Jetzt rief Proxy1 nach dem gleichen Ort 'London' und fand es dort am lokalen Ende und wusste nicht, dass Daten bei Service aktualisiert wurden? – Rizwan