Ich hole Daten (Bilder, 200-400kb) vom WCF-Dienst zum Silverlight-Client und stelle fest, dass das Silverlight jedes Mal für einen Bruchteil der Sekunde stoppt, wenn eine solche Nachricht eintrifft. Es ist nicht wirklich ernst, aber die Animation stoppt für eine Weile und die gesamte Benutzererfahrung ist ruiniert.Herunterladen von Bildern über WCF vs WebClient
Fragestunde:
1) Glauben Sie, es vorteilhaft wäre, WebClient stattdessen zu verwenden?
2) Ist der "normale" WCF-Client in Silverlight (mit "normal" ich meine ereignisgesteuertes Szenario) desysialize Datenverträge in Haupt (Aufruf) Thread oder im Hintergrund?
3) Sind Sie der Meinung, dass Overhead für das deserialisierte binäre Objekt vom Datenkontrakt in XML notwendig ist (+ größere Datengröße dank Base64 XML-Encodierung) größer/kleiner ist als zusätzlicher Umlauf zum Server (in diesem Fall würde der Datenkontrakt nur funktionieren) URL zu dem Bild enthalten und dann kann ich den WebClient verwenden - daher eine weitere Reise)?
4) Ist es möglich, Image aus dem Array byte [] im Hintergrundthread (nicht UI-Thread) zu erstellen?
Jede Hilfe, Ideen, Anregungen sehr geschätzt.
Danke,
Karol
PS: Ich Deepzoom nicht verwenden können, weil Geschäftsanforderungen nicht wirklich Deepzoom-Szenarien entsprechen.
Dank Steve, am Ende habe ich den zweiten Endpunkt mit REST-Protokoll erstellt, so kann ich Bild als binär aus dem gleichen Dienst zurückgeben und es in Silverlight über WebClient konsumieren. –
Update: Ich habe einige Leistungstests durchgeführt. Wenn jemand interessiert ist: Rohbinär über REST ist 2.5 schneller als die gleichen Daten, die wie DataContract serialisiert werden. –