Asp.Net MVC 2 Beta yayınlandı!

17 Kasım 2009 tarihinde, Microsoft PDC’09 (Microsoft Proffessional Developers Conference 2009) konferansında konuşmacı Bob Muglia, ASP.NET MVC 2 Beta’nın yayınlandığını duyurdu.

Microsoft sitesinden ücretsiz olarak download edebilirsiniz.

MVC (Model - View - Controller) hakkında daha fazla yardım almak için; ASP.NET MVC sayfasını ziyaret edebilirsiniz.

MVC 2 Beta versiyonu, Visual Studio 2008 SP1 için toollar içeriyor, fakat Visual Studio 2010 için güncellenmiş tool’ları içermiyor, çünkü MVC 2 release versiyonu zaten VS2010 ile birlikte dağıtılacak.

Şu anda VS2010 Beta 2’de yer alan component’lar ile MVC 2 Beta’da yer alan component’lar uyumsuz oldukları için, VS2010 bu beta versiyonda desteklenmiyor.

ASP.NET MVC 2 Beta’da gelen yeni özelliklerden bazıları;

  • Render Action
  • AsyncController
  • Expression tabanlı Helper class’lar (TextBoxFor, TextAreaFor, vs..)
  • İstemci tarafında onay/kontrol mekanizmalarında yapılan geliştirmeler
  • Boş proje şablonu Yayınlanmış beta versiyonla ilgili daha ayrıntılı bilgi için şuradaki dökümana bakabilirsiniz.

Aynı konuşmanın devamında Bob Muglia, bundan sonraki işlerinin, yılsonu gelmeden RC (Release Candidate) çıkartmak olduğunu söylüyor.

Kısa Sınav - 2

Windows Forms projenizde, birkaç saniye süren bir işlem yaptırmanız lazım.

Kullanıcı Arayüzü (User Interface - UI), bu işlem süresince sürekli olarak güncellenmeli ve işlemin durumunu bir progressbar nesnesinde göstermeli.

Geliştirme bakımından en az uğraş ile bu görevi nasıl yerine getirirsiniz?

  • Asenkron Delegate pattern kullanırım
  • BackgroundWorker component’i kullanırım
  • Thread class’ını kullanırım
  • İşlemi başlatır, Timer nesnesi ile periyodik olarak ProgressBar’ı güncellerim Sorunun doğru cevabı için;

BackgroundWorker component’i, Microsoft .Net framework 2.0 ile birlikte olay-tabanlı asenkron tasarım kalıbını (Event-Based Asynchronous Pattern) getirir.

Detaylı bilgi için, bakınız MSDN.

BackgroundWorker sayesinde, Windows Forms projelerinde, asenkron işlemlerin kolaylıkla yönetilmesi sağlanır. Üstelik olası cross-thread hatalarını yönetmek, delegate metot oluşturmak ve çalıştırmak gibi hamallıklarla da uğraşmak zorunda kalınmaz.

BackgroundWorker component’i, her geliştiriciye, asenkron uygulama geliştirmek için, olay ve özellik modeli’nin (event and property model) avantajlarını sunar.

Thread ve Delegate Metot kullanımı, BackgroundWorker kullanımına göre daha kolay değildir. BackgroundWorker component’i sizin için işin büyük kısmını zaten hallediyor.

Timer nesnesi ile ProgressBar’ı güncellemeye çalışmak, kullanıcı arabiriminin (User Interface - UI) kilitlenmesini önlemeyecektir.

Windows API Code Pack for Microsoft .NET Framework

Windows 7 ile gelen yeni özellikleri (JumpList, Tabbed Thumbnails, Thumbnail Toolbars, MultiTouch Desteği, vs..) .Net uygulamalarınızda kullanmak istiyorsanız, şurada yer alan Windows API Code Pack for Microsoft .NET Framework kurulumunu indirin ve bilgisayarınıza kurun.

Kurulum tamamlandıktan sonra, .Net projelerinize ilgili dll’leri referans olarak ekleyerek, çeşitli Windows 7 özelliklerine programatik olarak erişebileceksiniz.

Özellikle, Tabbed Thumbnail özelliğinin, uygulamalara kullanım kolaylığı katacağını düşünüyorum.

MediaPlayer‘ın Windows 7 ile gelen versiyonu, bu özelliği güzel kullanan uygulamalardan biri.

Wiindows7_MediaPlayer_TabbedThumbnail

Siz de uygulamalarınıza böyle bir özellik katmak istiyorsanız, örnek kod..

Gereksinimler:

  • Minimum .Net Framework 3.5 SP1
  • Yazdığınız uygulamayı test edebilmeniz için Windows 7 (eh, haliyle!)

Asp.net'te web.config ile globalization

Web uygulamalarında, geliştirme yaptığınız bilgisayarınızda türkçe karakterleri düzgün görüyorsanız, fakat uygulamayı sunucuya publish ettiğinizde türkçe karakterlerde bozulma oluşuyorsa (özellikle ğ, ü, ö, ı, ş karakterlerinde); sorun büyük ihtimalle sunucunun dil ayarlarından kaynaklanıyordur.

Sunucunun dil ayarları ile uğraşmak yerine, web.config dosyasında yapacağınız küçük bir değişiklik ile, bu sorunun üstesinden gelebilirsiniz.

Yapılması gereken, System.Web node’ u içerisine;

tagını eklemek.

Kısa Sınav - 1

Aşağıdaki seçeneklerden hangisi geçerli bir AppDomain nesnesi oluşturmak için doğru C# kodudur?

AppDomain d = new AppDomain(“Domain”, new Zone(SecurityZone.Internet));</pre>

AppDomain d = AppDomain.CreateDomain("Domain");
AppDomain d = new AppDomain("Domain");
object[] z = { new Zone(SecurityZone.Internet) };
Evidence e = new Evidence(z, null);
AppDomain d = new AppDomain("Domain", e);

Sorunun doğru cevabı için;

Doğru cevap : 2. şık

AppDomain d = AppDomain.CreateDomain("Domain");

doğru cevap.

AppDomain nesnesinden yeni bir örnek oluşturmak için doğru yol, AppDomain class'ının static CreateDomain fonksiyonunu çağırmaktır.

AppDomain class'ı standart bir constructor'a sahip değildir.

Engin Polat hakkında

Chief Architect, Microsoft RD, Microsoft MVP

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 458

Creative Commons Lisansı