ASP.NET MVC denetleyicisi Görüntüyü döndürebilir?
Sadece görüntü bir varlık döndüren bir Denetleyicisi oluşturmak miyim?
Aşağıdaki gibi bir URL istendiğinde bir ömür boyunca bu mantık yönlendirmek istiyorum:
www.mywebsite.com/resource/image/topbanner
Kumanda topbanner.png
bakacaktır ve doğrudan görüntü istemciye geri gönderir.
Bir Görünüm oluşturmak için bu örnekleri gördüm - bir Görünüm kullanmak istemiyorum. Sadece Kumanda ile yapmak istiyorum.
Bu mümkün mü?
CEVAP
Temel denetleyicileri, Dosya yöntemi kullanın.
public ActionResult Image(string id)
{
var dir = Server.MapPath("/Images");
var path = Path.Combine(dir, id ".jpg");
return base.File(path, "image/jpeg");
}
Bir not olarak, bu oldukça verimli görünüyor. Doğrudan URL (http://localhost/Images/MyImage.jpg
) ile Denetleyici (http://localhost/MyController/Image/MyImage
) ve resim istedim ve sonuçlar bir test yaptım:
- MVC:Fotoğraf başına 7.6 milisaniye
- Doğrudan:Fotoğraf başına 6.7 milisaniye
Not: Bu bir istek ortalama zaman. Ortalama yerel makinede istekleri binlerce yaparak hesaplandı, toplam ağ gecikmesi veya bant genişliği sorunları vardır.
RSpec denetleyicisi test - boş yanıt.v...
Bir üst bağlantı alt görünümü denetley...
Diğer kumanda dan Direktif denetleyici...
Raylar denetleyicisi tüm özel durumlar...
İşleme applicationDidBecomeActive - &q...