Uygulamamın, iç hizmetlerden bazılarının aynı resimleri sürekli olarak indirmesi ve bunları barındırması gerekiyor. Görüntüleri almak için planlanmış bir aktör uygulayarak bunu hayata geçirdim.Oynat 2 ve önbelleğe alma varlıkları
GET /public/*file controllers.Assets.at(path="/public", file)
Ama http://server/public/assets/image.png aracılığıyla bir görüntü erişmeye çalıştığınızda nedense, ben güncelleme görmüyorum: Bu /public/analytics
altındakiler bu varsayılan rota kümesine sahip yerleştirir. Bence sorun önbelleğe alınmış. Barındırma işine girdiğimde, /public/analytics
'da bulunan güncellenmiş resmi görüyorum, böylece önbelleğe almalı.
Ben Global
bu eklemeye çalıştık:
override def doFilter(action: EssentialAction): EssentialAction = EssentialAction { request =>
import play.api.http.HeaderNames
action.apply(request).map(_.withHeaders(
HeaderNames.CACHE_CONTROL -> "no-cache",
HeaderNames.PRAGMA -> "no-cache"
))
}
Ama sonuç yine aynı. Ayrıca görüntü URL'sini aldığımda no-cache
başlıklarını görüyorum. Her defasında yeni url üretmeye yönelik bir öneri gördüm, ancak bunu yapamam.
Herhangi bir fikir yanlış olabilir ne olabilir?
Ne yazık ki bu işe yaramıyor - 30 saniye beklesem bile hala eski görüntüyü alıyorum. Önbelleği kapatmaya çalıştım, cevabımda yayınladığım kodu görüyorum - ve hala eski görüntü almaya devam ediyorum. Sadece normal 'Eylem' üzerinden görüntü alma uygulandığında, tepki göstermeyi başarabiliyordum ama bu yaklaşımın iyi olduğundan emin değilim. – Archeg
3 saat sonra bile hala eski görüntüyü alıyorum. Buna neden olabilecek önbellek dışında başka bir şey var mı? – Archeg