2013-03-05 32 views
5

MVC 4 ile bir web sitesi oluşturuyorum. Proje gereksinimleri için, görüntüler veritabanında saklanır.MVC önbellekleme veritabanı görüntüleri

Görünüm:

<img src='<%= Url.Action("ShowImagen", "Home", new {id = item.IdImagen}) %>' style="width: 300px; 
         height: 200px;" /> 

Denetleyici:

public FileResult ShowImagen(int id) 
    { 
     if (id > 0) 
     { 
      var imageData = new NoticiaRepository().GetImagen(id); 
      return File(imageData, "image/jpg"); 
     } 
     else 
     { 
      return null; 
     }   
    } 

ben hikaye eşlik resmin kimliği sahip olduğu Modeli bağlayan bir görünümü var, sonra ben görüntü elde Bunu ve Chrome ile kontrol ederek, sayfayı yeniden yüklediğimde, .css veya dosya sisteminden yüklenen diğer resimler gibi, önbellekten görüntüleri yüklemediğini fark ettim.

Bu resimlerin önbelleğe alınmasını sağlamanın bir yolu var mı? Bir tebrik ve teşekkürler.

[OutputCache(Duration = 3600, Location = OutputCacheLocation.Client, VaryByParam = "id")] 
public ActionResult ShowImagen(int id) 
{ 
    ... 
} 

cevap

11

Sen [OutputCache] özniteliği ile ShowImagen kontrolör eylemi süslemeleri olabilir?

+0

Teşekkürler, OutputCache ile çalıştı, ancak Location parametresiyle denedim. – Dani

+0

Teşekkürler, mükemmel çalışıyor! – WhatsInAName

+0

@ darin-dimitrov Ve bir noktada önbelleği nasıl geçersiz kılarsınız? (Örneğin, bir resmin içeriği değişirse) – RazvanR

0

Eğer OutputCache özniteliği ile eylem yöntemini dekorasyon denediniz:

+0

Than's Daniel, anahtar OutputCache parametresi Konum parametresini katıştırır. – Dani

İlgili konular