09 Mart 2007

AJAX Extension kurulu olmayan sunucuda ASP.NET AJAX projesi çalıştırmak

Son zamanlarda gerek mail yoluyla, gerek yakın çevremden en fazla aldığım sorulardan ve sorunlardan biri de, yapılan bir ASP.NET AJAX projesinin bir sunucuya atıldığında çalışmamasıydı. Bildiğiniz gibi ASP.NET AJAX tam sürümü ile birlikte artık Global Assembly Cache'e atılan dll kütüphaneleri üzerinde çalışmaya başladı.(Yani artık Bin dizini içerisine referans olarak dll dosyaları eklenmiyor) Sorunu çözebilmek için bloglardan ve forumlardan biraz araştırma yaptım ama ilgili bir konu bulamadım. Birkaç denemeden sonra (sanırım) sorunu çözdüm. Yapılması gereken işlemler şunlar:

1- Öncelikli olarak ASP.NET AJAX projenize Bin dizini açın ve buraya referans olarak System.Web.Extensions.dll ve System.Web.Extensions.Design.dll dosyalarını ekleyin. Bu dll kütüphanelerini C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 dizininden elde edebilirsiniz.

2- Uygulamanızın web.config dosyasında bazı değişiklikler yapmanız gerekecek. Buradaki bazı tanımlamalardaki type ifadeleri içerisinde yer alan System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 kısımlarındaki Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ifadelerini kaldırmanız gerekecektir. Bu kısımlar, zaten dll dosyalarının Global Assembly Cache'den okunmasını sağlayan açıklamalardır. Bu şekilde artık uygulama GAC'daki dll dosyalarını değil, Bin dizinindeki dll dosyalarını kullanacaktır. (Bu işlemi Find-Replace ile kolayca yapabilirsiniz.)


3- Son olarak uygulamanın bulunduğu dizini virtual directory (sanal dizin) olarak tanımlamak gerekecek.

Bu üç adımı takip ederek hazırlayacağınız bir projeyi, artık AJAX Extension kurulu olmayan bir sunucuda çalıştırabilirsiniz. Bazı durumlarda hata alabilme olasılığınız olabilir. Aldığınız hataları bana iletirseniz yardımcı olmaya çalışırım.

Klasik bir uygulamayı AJAX uygulamasına çevirmek

Varolan bir web projesini, ASP.NET AJAX projesine çevirmek isterseniz yapmanız gereken işlemler şunlar:

1- Bir ASP.NET AJAX projesi açın ve web.config içerisindeki herşeyi kopyalayın.

2- Klasik uygulamanızı açın. Bu uygulama içerisindeki web.config dosyasını açın. Eğer bu dosyada herhangi bir değişiklik yapmışsanız, değişiklikleri bir yere not alın. Yeni bir XML düğümü açıp birşeyler yazmış iseniz, bu kısımları da kopyalayıp ayrı bir yerde saklayınız. Bu dosyanın içerisini şimdilik silebilirsiniz.

3- AJAX uygulamasındaki web.config'den aldığınız kodları, klasik uygulamadaki web.config içerisine yerleştirin.

4- web.config'in önceki halinde yer alan değişiklikler ve kodlar var ise, bunları web.config içerisinde uygun yerlere ekleyin.

Böylece artık klasik uygulamanız ASP.NET AJAX-Enabled Web Site projesi haline geliyor. Bir ASP.NET sayfası içerisine ScriptManager kontrolü eklemeniz durumunda artık UpdatePanel ve diğer AJAX Extension kontrolleri ile uygulamanızı AJAX modeli ile yeniden tasarlayabilirsiniz. Burada unutulmaması gereken nokta, sayfanın çalışacağı sunucuda ASP.NET AJAX Extension'ın kurulu olması gerekecektir.

06 Mart 2007

Webiner: ASP.NET AJAX

Geçtiğimiz haftalarda MS Akademik'in düzenlediği Akademik Webinerleri blogumda duyurmuştum. İlk hafta konuşmacı olarak katıldığım ASP.NET AJAX webinerini, gelen istekler doğrultusunda bu hafta tekrar yapacağız. 9 Mart Cuma günü saat 16:00'da başlayacak olan bu webinere katılmak için MS Akademik sitesinden kayıt yaptırabilirsiniz. Bu linkten ilgili sayfaya ulaşabilirsiniz.

ASP.NET AJAX ile İlgili Görsel Ders(ler)

ASP.NET AJAX ile ilgili hazırladığım görsel dersleri MS Akademik sitesinden paylaşmaya başladım. AJAX ve ASP.NET AJAX ile ilgili genel bilgileri anlattığım ilk derse bu linkten ulaşabilirsiniz. Önümüzdeki günlerde yeni görsel dersleri MS Akademik'te sizlerle paylaşıyor olacağım.

Not: Şu an nedirTV'de yaşanan teknik bir problemden dolayı videolar sadece MS Akademik'te yayınlanacak

01 Mart 2007

.NET Ortamında Kullanabilecek Diller ve Derleyicileri

.NET Framework'ün en güzel yanlarından biri de geliştiricilere dilden bağımsız bir ortam sunmasıdır. Aşağıdaki linkte Microsoft'un desteklediği diller ile birlikte .NET ortamı üzerinde çalışılabilecek üçüncü parti dilleri ve bu dillerin derleyicilerini bulabilirsiniz.

http://www.dotnetpowered.com/languages.aspx