2010-12-06 8 views
1

Ich habe eine Anwendung geschrieben in asp.net C# und gehostet auf IIS6. Es gibt einen 'Image'-Ordner mit 3 Unterordnern. Diese Ordner enthielten Bilder vom Typ 'jpg', 'gif', 'png' usw. Bilder sind sehr groß und in Zahlen. Auf der Anwendung müssen auf jeder Seite einige Bilder geöffnet/angezeigt werden, aufgrund der Größe der Bilder wird meine Anwendung immer langsamer.Image-Caching in asp.net-Anwendung ohne IIS

Ich weiß, es gibt einige Techniken, um Image-Ordner auf dem Client-Rechner oder anderen Methoden zu cachen. Ich habe keinen Zugriff auf IIS. Also, ich brauche einige httpandler oder httpmodules, die etwas wie Bild-Caching bieten.

Ich habe es versucht: codeproject.com/KB/aspnet/CachingImagesInASPNET.aspx Das Problem ist, ich muss eine zusätzliche Erweiterung '.ashx' zu jedem Bild Link hinzufügen. Es gibt kein Problem mit Bildern, die dynamisch geladen werden, aber es hat Probleme mit Bildern, die einen manuellen Link erstellen müssen. Auch das funktioniert gut bis zu 1000 Bildern.

Alle Vorschläge/Lösungen werden geschätzt.

+0

Danke an alle - mein Problem mit diesem jetzt gelöst: codeproject.com/KB/aspnet/CachingImagesInASPNET.aspx . Die tatsächlich funktionierende Anwendung ist: http://singhshashtar.com/ –

+0

Cool. Hoffe das klappt für dich. Wie wäre es mit ein paar upvotes für @Oded, @ 5arx für vorbeischauen zu helfen ;-) – 5arx

+1

@ 5arx - Cooler Mann, ich habe es schon getan. Nochmals vielen Dank an euch beide. –

Antwort

1

Caching auf dem Client geschieht automatisch.

Sprechen Sie über das Speichern von Dateien im Serverspeicher (IIS file cache)?

+0

@Oded - Sie haben Recht, aber es dauerte sehr viel Zeit, Bilder jedes Mal zu erhaben.Ich sehe in etwa so aus: http://www.codeproject.com/KB/aspnet/CachingImagesInASPNET.aspx –

+0

@Rick - dieser Link sieht ziemlich gut aus . Warum kannst du das nicht benutzen? – Oded

+0

@Oded - Danke, ich habe das gleiche versucht, aber nach rund 1000 Bildern bringt es mich wieder in die gleiche Situation wo ich bin? –

1

Ich würde eine Art von Puffermechanismus mit AJaX betrachten. Niemand wird mehr als 1000 Bilder gleichzeitig sehen wollen.

Vielleicht könnten Sie einen Blick auf die neueste Version der Google-Bildersuche nach ‚Inspiration‘ nehmen ;-)

+0

Wir verwenden UpdateProgress von Ajax, aber das gleiche Problem, es dauert zu lange, um Bilder hochzuladen. Wir zeigen 10-10 Bilder in einem Datagrid und es gibt rund 100 Seiten im Grid für 1000s Bilder –

+0

@Rick - müssen Sie die Vollbild-Imgs als Vorschau anzeigen? Vielleicht könnten Sie einen benutzerdefinierten Handler schreiben, um Bilder zu liefern und sie in der Größe zu ändern? – 5arx

+0

Ja, ich muss es tun, wie du gesagt hast. Ich habe eine weitere Beschreibung in meine Anfrage eingefügt, bitte schauen Sie hinein, –