Etiket- mvc

Output Caching ile Performans Sağlama (Asp.Net MVC)

Output caching (Çıktı Önbellekleme) ‘den yararlanarak Asp.net MVC uygulama performansı nasıl arttırılabilir ?

Output caching, sayfamızın Html halinin ön bellekte bir kopyasını oluşturur ve kopyası oluşturulan sayfa istendiğinde ön belleğe atılan kopya sayfa gönderilir böylece her eylemde sayfayı yeniden oluşturmaz veya veritabanı bağlantısı kurmasına gerek kalmaz. Output caching’in bazı özellikleri ile sayfanın ne kadar ön bellekte tutulacağı veya belirli parametrelere göre caching yapılacağı söylenebilir.

MVC Output Caching Kullanımı

Oluşturduğunuz action’a [OutputCache] niteliğini ekleyerek OutputCache’i aktif hale getirebiliriz. Aşağıdaki örneğe söre Index çıktısını 10 saniyeliğine ön belleğe aldık.

using System.Web.Mvc;

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        [OutputCache(Duration=10, VaryByParam="none")]
        public ActionResult Index()
        {
            return View();
        }

    }
}

Önemli Not: Asp.net MVC’nin beta versiyonlarında, çıktı önbelleği için http://www.siteadresi.com gibi URL çalışmıyor. http://www.siteadresi.com/Home/Index şeklinde kullanılması gerekmektedir. Devamını Oku

MVC’de Özel Kimlik Denetim Özelliği (Custom AuthorizeAttribute)

Merhabalar, bu yazıda mvc‘de özel kimlik kontrollerini gerçekleştirebileceğiniz bir yöntemden bahsedeceğiz. Bu yöntem sayesinde tek bir metoda veya tüm bir contoller‘a kolayca yetki verebileceksiniz.

Öncelikle attribute ve custom attribute kavramlarını hemen bir örnekle açıklayalım. Aşağıda gördüğünüz metodun üstünde yer alan ValidateAntiForgeryToken isimli ön tanımlı bir attribute‘tur.

[ValidateAntiForgeryToken]
public void SomeMethod(string someParameter)
{
...
}

Bu attribute‘un ne anlama geldiğini başka bir yazıda inceleyeceğiz. Burada önemli olan bu attribute metoda bir özellik kazandırdı. Birazdan kimlik denetimi için de yapacağımız buna benzer bir yöntem. Ancak biz bunu özel attribute (custom attribute) ile gerçekleştireceğiz. Özel attribute‘lar ön tanımlı attribute‘lara ek olarak sizin tarafınızdan yazılabilen attributelardır ve kullanımları aynı ön tanımlı attribute‘lar gibidir.

Kimlik denetimi için özel attribute‘umuzu oluşturmaya başlayalım. İlk olarak NeedsAuthorization adlı bir attribute yaratıyoruz. Bu attribute‘u kimlik denetimi için kullanacağımız için AuthorizeAttribute sınıfından inherit ederek bu sınıftan içerisindeki özelliklerden yararlanabiliriz. Devamını Oku

Asp.Net MVC Model’den gelen Byte Array Resmi Görüntülemek

Merhaba arkadaşlar, bugün sizlere Asp.Net MVC ile modelden gelen byte array resmini görüntüleyerek nasıl sayfaya basabiliriz onu anlatacağım…

-Modelden byte olarak gelen veriyi, örnek olarak model ile aynı şekilde sayfaya döndürüp aşağıdaki gibi convert işlemleri sayesinde sayfaya basmamız mümkündür.

 @{
       var base64 = Convert.ToBase64String(model.SmallPicture);
       var imgSrcOrj = String.Format("data:image/jpeg;base64,{0}", base64);
  }

Devamını Oku

Asp.net MVC verileri dışarıya aktarma (*.txt)

Merhaba bu makalede MVC üzerindeki çalıştığımız verileri dışarıya aktarmamızı sağlayacak bir method oluşturacağız.

Controller Tarafındaki Kod

        public ActionResult DataExport()
        {
            Response.ClearContent();
            string filename = "dosyadı.txt"
            Response.AddHeader("content-disposition", "attachment; filename=" + filename);
            Response.ContentType = "application/octet-stream";
            Response.Buffer = true;
            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Deneme veri 1");
            sb.AppendLine("Deneme veri 2");
            sb.AppendLine("Deneme veri 3");

            byte[] extractedData = encoding.GetBytes(sb.ToString());
            return File(extractedData, "application/octet-stream");
        }

Yukarıda oluşturmuş olduğumuz Method ActionResult nesnesinde File geriye döndürmektedir.
Devamını Oku