In alcune pagine di un libro fotografico voglio mostrare 20 miniature. Queste miniature sono caricate in modo programmatico da un database. quelle miniature sono già ridimensionate. Quando li mostro le immagini si caricano lentamente. alcuni impiegano 0,5 secondi per caricare un po 'di attesa per 2 secondi. Il database non ha importanza perché quando rimuovo il livello del database, il problema di prestazioni esiste ancora. Quando carico le stesse immagini direttamente con il codice html, il problema si verifica immediatamente.ASP.NET MVC caricamento lento dell'immagine tramite il framework MVC?
Il caricamento di immagini/file tramite il framework mvc è lento o mi manca qualcosa?
Questo va troppo lento
//in html
<img src='/File/Image.jpg' border='0'>
//in controller
public FileResult File(string ID)
{
//database connection removed, just show a pic
byte[] imageFile = System.IO.File.ReadAllBytes(ID);
return new FileContentResult(imageFile,"image/pjpeg");
}
questo va immediatamente
<img src='/Content/Images/Image.jpg' border='0'>
ancora, il problema di prestazioni rimane. molto strano. è troppo lento per metterlo tutto sull'overhead del mvc. – MichaelD
L'altra cosa da considerare è se o meno viene memorizzato nella cache dal browser. Sarà sicuramente memorizzato nella cache per gli accessi diretti al file, ma potrebbe essere che è costretto a caricare il file ogni volta che si utilizza un metodo di azione. Aggiornerò il mio suggerimento per aggiungere il caching. –