Laden...

WebBrowser-Control (o.ä.): Bild zwischenspeichern / Buffern

Erstellt von mo# vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.786 Views
mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren
WebBrowser-Control (o.ä.): Bild zwischenspeichern / Buffern

Hallo Zusammen,

ich hab gerade eine kleine Anwendung die eine Suche in einem Remote-SAP System realisiert.
Im Vorschaugrid sollen nun Vorschautumbnails angezeigt werden. Leider muss es die Bilder jedesmal aufs neue Laden (bei Paging etc.) gibt es eine Möglichkeit die Bilder irgendwie zu Buffern mit dem Standard Image oder Web-Control oder ein Kauf-Control welches dies abbilden kann?

Vielen Dank..

1.665 Beiträge seit 2006
vor 12 Jahren

Sind wir jetzt im Web oder in Windows Forms?

mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren

Eigentlich in WinForms, dachte nur das das WebControl evtl. ein wOrkaround darstellt weil es dort ja auf jedenfall gehen solte Bilder zu Buffern, oder?

1.665 Beiträge seit 2006
vor 12 Jahren

Kann mich nicht genau vorstellen, was du genau machst? Sind das Vorschaubilder deiner Suchergebnisse, sind die Bilder immer gleich? Wieso werden diese immer neu geladen?

mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren

Ja das sind Vorschaubilder der Suchergebnisse. Die Bilder sind nicht immer gleich aber es werden in häufiger Abfolge die gleichen Bilder angezeigt. Der Download der Bilder aus dem R3 ist sehr inperformant (vorallem Remote), deswegen die Idee mit einem IE-Like Bilder Puffer...

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo mo#,

es macht die Sache nicht gerade einfacher, wenn wir gleichzeitig über x verschiedene Implementierungsvarianten sprechen. Bleiben wir doch erstmal beim WebBrowser-Control. Das sollte automatisch mit dem Cache es IEs arbeiten. Wenn für gleiche Bilder die gleiche Url verwendet wird, sollte das Caching automatisch erfolgen.

Wenn das nicht hilft, beschreibe dein Szenario bitte ganz exakt. Bisher ist das viel zu ungenau.

herbivore

T
708 Beiträge seit 2008
vor 12 Jahren

Hallo mo#,

das klingt nach einer interessanten Sache.
In dem IE sehe ich die Problematik, dass dieses Cache Verhalten nicht immer wie gewünscht funktionieren wird. Kommen die Bilder direkt aus der DB, weiß ich auch nicht ob ohne eine eindeutige URL die Zuordnung für das erneut geöffnete Bild gefunden werden kann.

Eine ImageList klingt daher erstmal vernünftiger. Jedoch "müllt" die gerne den RAM voll und erfordert daher eine Logik, Ressourcen auch wieder freizugeben.
Wahrscheinlich werden doch die Bilder sich nicht so häufig ändern, oder? Dann würde ich mir fast überlegen ob die Anwendung nicht einen "Tumbnail"-Ordner bekommen soll, wo eine physische Speicherung passiert.
Das würde ich aber abhängig von der Menge der zu übertragenen Bilder und der Speicherdauer entscheiden.

Gruß,
TriB

mo# Themenstarter:in
187 Beiträge seit 2009
vor 12 Jahren

Hallo Zusammen,
danke für die Antworten.
Speichern im Dateisystem funktioniert wegen der stark reglementierten Umgebung nicht.

Ich habe es jetzt über das Stadard Webbrowser-Control gelöst, welches als Inhalt ein HTML-Image Tag bekommt wo dynamischen die Bild-URL zum SAP-System hinterlegt wird. Das ganze wird dann beim laden des Datagrids im Grid als eigene Spalte angezeigt (also ein Webbrowser-Control pro Zeile), dabei werden die Bilder über den standardmechanismus des IE gechached und somit sehr schnell angezeigt (ca. Faktor 20 zum Image-Control was jedes Bild neu läd).

Was die Ressourcen angeht ist diese Lösung leider ein Fass ohne Boden, schon bei 30 Bilder bin ich an der GB-Grenze für den Arbeitsspeicher angelangt. Ich denke ich muss doch Hand anlegen und selbst Buffern...
😦
Schade.

1.665 Beiträge seit 2006
vor 12 Jahren

Du kannst doch die Bilder statisch in deiner Anwendung buffern. Da du ja die URL zu dem Bild hast, reicht doch ein simples <string, Image>Dictionary völlig aus, oder habe ich jetzt etwas übersehen?