Posts Tagged With 'MVC'

  • Dec
  • 09
  • 2011

Microsoft Web Camp etkinlikleri devam ediyor…

Tags: , , , , , | View: 170 | Comments:

2011 yılını bitirirken yazılım ile ilgili etkinlikler hızlı bir şekilde çoğalıyor…2012′ye hazırlık olsa gerek…Neyse çok dağılmadan yeni bir etkinlik haberini paylaşmak istiyorum. 19 Aralık 2011 tarihinde, Microsoft’un İstanbul ofisinde Web Camp etkinliği var. Saat 9.00′dan, 17:00′a kadar devam edecek etkinlik Daron Yöndem tarafından gerçekleştirilecek. Ağırlıklı olarak bahsedilecek konular aşağıdaki gibi. İlgelendiğiniz konular var ise, workshop tarzında da geçecek bu etkinliğe katılmanızı tavsiye ederim. Buradan etkinliğe kayıt olabilirsiniz.

  • HTML5, ASP.NET, Visual Studio 2010 Web Express
  • Azure ve MVC
  • WebMatrix v2
  • NuGet bileşenleri
  • Internet Explorer (Site Pinning, Uyarılar, Jump List özelliği, Media Player dahil etmek)
  • Web API Oluşturma
  • Windows Phone Uygulamasından Web API oluşturmak
  • WRE ve Site yayınlama
  • May
  • 20
  • 2011

Microsoft Web Camps İstanbul

Tags: , , , | View: 466 | Comments:

27 Mayıs 2011 tarihinde Microsoft İstanbul’da Web Camps kapsamında, bir etkinlik gerçekleşecek. Bu etkinlikte jQuery, oData, HTML 5 gibi yeni nesil internet teknolojileri ve Asp.Net MVC 3 ile ilgili konulara yer verilecek. Ayrıca çeşitli Lab çalışmaları ile çeşitli örnekler yapılacak. İlgileniyorsanız kaçırmayın derim.

Program aşağıdaki gibi. Daha fazla bilgi ve katılmak için bu adresi ziyaret etmeniz yeterli.

10:00 – 11:00 HTML5 ve Internet Explorer 9
11:00 – 11:15 Ara
11:15 – 12:15 oData ve Jquery
12:15 – 13:30 Öğle Yemeği
13:30 – 14:30 ASP.NET MVC 3 Razor
14:30 – 14:45 Ara
14:45 – 17:00 Laboratuar Çalışması

 

 

  • Apr
  • 13
  • 2011

Silverlight 5 Beta, Internet Explorer 10 Preview ve dahası…

Tags: , , , , , | View: 719 | Comments:

Microsoft’un her sene düzenlediği MIX etkinliği bu sene yine merak uyandıran gelişmeler ile tamamlandı. Internet Explorer 10 Preview versiyonunun, Silverlight 5 Beta’nın duyrulduğu etkinlikte, Windows Phone 7′nin geliştiriciler tarafındaki yenilikleri de yazılım geliştiricileri mutlu edecek gibi…Açıkcası hepsine çok ayrıntılı bakamadım ama ilerleyen zaman içerisinde güzel yenilikler bizleri bekliyor…

MIX11′de ayrıca Asp.NET MVC 3 Tools güncellemesi ve Entity Framework 4.1 versiyonu da çıkmış oldu. Bütün bunlarla ilgili kaynaklara ulaşabileceğiniz linkleri derledim…İlgilenenlere başlangıç noktası olur umarım…



 

 

  • Aug
  • 01
  • 2010

Asp.Net MVC Framework 3 göz kırpıyor…

Tags: , , | View: 510 | Comments:

Asp.Net MVC Framework 3 geçtiğimiz günlerde yayınlanan “Preview 1″ versiyonu ile göz kırptı. Bu adresten indirip deneyebilirsiniz. Bu versiyonda, daha önceleri Web Matrix ile duyurulan “Razor View Engine” de mevcut. Açıkcası en merak uyandıran yenilik bu benim için. Bunun dışında yeni ActionResults’lar ile “Action”ları yönetmek daha kolaylaşıyor. Modelleri direk JSON formatında kullanabiliyor olmamız ise, Asp.Net MVC 3′ün Javascript ile uğraşmayı sevenlerin en çok hoşuna gidecek özelliği gizi gözüküyor…

Şu an ki versiyonun “Preview” olduğunu ve bir çok sorunla karşılaşabileceğinizi hatırlatmakta fayda var.

  • May
  • 15
  • 2010

Asp.Net MVC Framework’de MEF ile Controller eklentileri…

Tags: , , , | View: 1,000 | Comments:

Yine bir MEF yazısı…Bu sefer MEF’in kullanım alanlarını inceleyerek MEF’in gerçekten faydalı olabileceğini biraz daha net bir şekilde kavramaya çalışacağız. Bir önceki yazımda, Asp.Net MVC Framework’de “Controller” kavramını basitçe özetleyerek kendi çapımda anlatmaya çalışmıştım. Ne kadar faydalı oldu bilemeyeceğim ama bu sefer de, Asp.Net MVC Framework’de MEF’i nasıl uygulayabiliriz bunu anlatmaya çalışacağım.

Başlıyoruz…

Asp.Net MVC uygulaması olarak, Visual Studio’da proje olarak gelen Asp.Net MVC projesini kullanıyor olacağız. Baştan bir MVC uygulaması yazmaya şimdi gerek yok, hazır yazılmışı olduğunu farz ederek bu proje şimdilik işimizi görecektir.

Aşağıdaki gibi bir proje yapımız olduğuna göre, tam olarak ne yapacağız buna geçelim. Amacımız MEF’in esnekliğini kullanarak Asp.Net MVC uygulamamızı esnetmek. Yani takıp çıkarabileceğimiz, bir birinden bağımsız bileşenler ile uygulamamıza genişletebilir bir yapı yapmak. Bu noktada takıp çıkarabileceğimiz bileşenler derken bunların “Controller”lar olduğunu belirtmekte fayda var sanırım.

“Controller”ların takıp çıkarılması olayını biraz daha açıp, “Controller”ların ayrı *.dll’ler şeklinde Asp.Net MVC uygulamamıza entegre olabilen bileşenler demek sanırım daha açık olacaktır.

Önce “Controller”ımızı yapalım…

Takıp çıkarılabilen bir “Controller” için Visual Studio’da yeni bir “Class Library” projesi yapmamız gerekmekte. Bu projenin çıktısı bizim MVC uygulamamıza dışardan ekleyebileceğimiz “Controller”ımız olacak. Projemizin aşağıdaki gibi bir yapısı olması gerekmekte. (Not: Poll ismini bu örnekte anket yaptığımızı farz ederek koydum)

Index.asp’miz View tarafımız *.cs dosyamız ise “Controller”ımız olacak. Aşağıdaki kod örneği de şimdilik yeterli olacaktır.

using System.Text;
using System.Web.Mvc;
using System.ComponentModel.Composition;
using Common;

namespace Plugins.Poll
{
    [Export("MVCController",typeof(IController))]
    [PluginMetadata("Poll", "1.0", "Arda")]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class Poll : Controller
    {
        public ActionResult Index()
        {
            return View("~/Plugins/Views/Poll/Index.aspx");
        }
    }

}
  • May
  • 11
  • 2010

Asp.Net MVC Framework’ün arkasında olanlar ve IControllerFactory arayüzü…

Tags: , | View: 500 | Comments:

Asp.Net MVC nedir, ne değildir yazısı olmayacak bu baştan söylemekte fayda var sanırım.  Asp.Net MVC Framework’ün arka tarafında olan bir kaç işlemi anlamaya çalışacağız. Öncelikle Asp.Net MVC Framework, IHttpHandler arayüzünden türeyen MVCHandler ve çevresinde dönen, Asp.Net Framework’ü kullanılarak geliştirilen ayrı bir framework. Aslında Amerika’nın yeniden keşfedilmesini sağlayan bir kavram(!) ya da Mars’a roket göndermemize yardım eden bir teknoloji değil.

Asp.Net’deki IHttpHandler arayüzü, web ortamında, gelen “request”leri,yada içerikleri(context) kontrol etmemizi ve “response”ları yaratmamızı sağlayan bir arayüz. Eminim bir çoğumuz kendi “Handler”larımızı bazen yazma gereği duymuşuzdur. Asp.Net MVC Framework de belli amaçlara ulaşmak için Microsoft’un kendi “Handler”larını yazması ile ortaya çıkıyor işte. Kaynak kodlarına baktığımız zaman zaten bunu daha iyi anlayabiliyoruz.

Şimdi Asp.Net MVC Framework, gelen bir HTTP request’ini alıyor, kendi yorumlayabileceği yapıya dönüştürüp(ki burası da Routing mekanizması oluyor aslında), kendi içinde işliyor. Bu noktada da karşımıza “Controller” kavramı çıkıyor. Kendi içinde işlediği nokta bu “Controller” kısmı oluyor. Daha sonra da bu “Controller” kavramı “View”leri oluşturuyor. Hatırlarsanız az önce IHttpHandler’ın “response”ları yaratmamıza yardım ettiğini söylemiştim. Buna şimdi ek olarak da, IHttpHandler’ın daha doğrusu, bu arayüzden türeyen MVCHandler’ın “Controller”ların yaratılmasını sağladığını söylemek istiyorum. Yaratılmasını sağlıyor dedim dikkat ederseniz. Yani direk kendi yaratmıyor. Bu nokta çok önemli.

Asp.Net MVC Framework’de “Controller”ların yaratılmasını “DefaultControllerFactory” sağlıyor. Evet, tahmin ettiğiniz gibi bir tasarım kalıbı…DefaultControllerFactory, CreateController() metodu ile request sonucu oluşan içeriği(context) alır ve ilgili “Controller” sınıfını oluşturur. Asp.Net MVC Framework’de bu DefaultControllerFactory’nin oluşmasını, ControllerBuilder objesi sağlar.

Şimdi yavaş yavaş biraz daha eğlenceli yerlere geliyoruz aslında. Asp.Net MVC Framework, bize bu “Controller” yapısına gerektiğinde müdahale etmemiz için çeşitli metodlar ve arayüzler sunuyor. DefaultControllerFactory’nin de türediği IControllerFactory arayüzü bunlardan biri. Bu arayüzden kendi ControllerFactory’lerimizi yaratabiliriz. Dolayısıyla kendi “Controller”larımızı yaratabiliriz. Bu sayede “Controller”larda ortak operasyonları gerçekleştirebiliriz. Yukarıda bahsettiğim CreateController() metodu da bu arayüzden geliyor. Bu metod RequestContext tipinde  bir değer alıyor. Bu sunucuya yaptığımız “request”in anlamlı hale geldiği objemiz oluyor. Bir diğer parametre de adından da anlaşıldığı üzere “Controller”ın ismi…

İlerleyen yazılarda kendi kontrol fabrikamısı(:)) yaratıyor olacağız ve bütün bu laf kalabalığını biraz daha anlamlı hale getireceğiz.

Umarım kafalar fazla karışmamıştır. Bu kavramları bilmek gerekli mi diye sorabilirsiniz, ya da gerekli olmadığını savunabilirsiniz…Ama küçük bir proje için derinlere dalıp, biraz debelenmem gerekti. Sonuçlarını da paylaşma gereği hissettim. Önümüzdeki yazılarda bu kavramları kod örnekleri ile daha da anlamlı kılıyor olacağım. Şimdilik bu kadar…