Ana Sayfa | English Blog | Seminer TV | Dil Cookie Sil  Blog'u Mail ile takip et!  
Daron Yöndem - IIS 7.0
bir yazılımcının tasarıları...
 Sunday, December 27, 2009

Koca bir INETA NEXT serisi bitti! :) Bu hafta sonu gerçekleştirdiğimiz Denizli etkinliği ile beraber 2009'ın NEXT serisine son vermiş olduk. Diyarbakır, İstanbul, Kayseri ve Denizli turumuz INETA kapsamında tüm sosyal topluluklar ve editörleri ile beraber son iki yılda gerçekleştirdiğimiz en büyük hareket oldu. Tüm bu seri boyunca katkıda bulunan INETA sosyal topluluklarımıza ve sevgili konuşmacılarımıza ÇOK teşekkürler.

Muammer Benzeş (birliktegelistir.com)
Erkan Balaban (Ceviz.net)
Oğuz Yağmur (csharpnedir.com)
Uğur Umutluoğlu (nedirtv.com)
Barış Kanlıca (yazgelistir.com)
Burak Selim Şenyurt (nedirtv.com)
Selçuk Yavuz (Ceviz.net)

Tüm etkinlikler boyunca en çok merak edilenlerden birinin "Beyin" olduğunu gördüm :) Biliyorsunuz ilk etkinliği duyurduğumuzda her şehirde bir katılımcıya yeni bir beyin vereceğimizden bahsetmiştik. Bu beyin konusunda ben her ne kadar samimi olsam da :) herkes "beyin" kelimesinden yola çıkarak çok farklı şeyler düşünmüş. Oysa gerçekten de "beyin" derken "beyin" demek istemiştim :)

Yepyeni bir beynin sahibi!
Yepyeni bir beynin sahibi!

Fotoğrafta da görebileceğiniz üzere arkadaşımız yeni beynini sevinçle karşılamış durumda :D Her şehirde bu şekilde bir beyin hediye etme şansımız oldu. Beynin özelliği gerçek bir beyin "vıcıklığında" olma ile beraber her ne yaparsanız yapın esnese de şeklini kaybetmiyor olması :)

Etkinliklerimize katılan herkese tekrar defalarca çok teşekkürler. Bizi takip etmeye devam edin ;)

Sunday, December 27, 2009 10:23:48 AM (GTB Standard Time, UTC+02:00)  #    Comments [1]   .NET Framework 4.0 | ASP.NET 4.0 | C# | Expression Blend | Expression Studio | IE 8.0 | IIS 7.0 | LINQ | PLINQ | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WCF | Windows 7 | WPF  | 
 Sunday, November 29, 2009

INETA NEXT etkinliklerimizle ilgili duyuruyu bundan yaklaşık bir hafta önce sizinle paylaşmıştım. Maalesef o zamanlarda içeriği paylaşma şansımız yoktu çünkü içeriğimizde daha Microsoft tarafından lansmanı yapılmamış ürünlere dair oturumlar olacaktı :) Eh artık zamanı geldi ve içeriğimizi paylaşmaktan gurur duyuyorum.

Diyarbakır - Dicle Üniversitesi, Tıp Fakültesi Konferans Salonu
5 Aralık
11.00-12.30 Visual Basic  10 Yenilikleri - Daron Yöndem (yazgelistir.com)
14.00-15.30 Windows 7'de neler var? - Muammer Benzeş (birliktegelistir.com)
16.00-17.00 Silverlight 4 - Daron Yöndem (yazgelistir.com)
6 Aralık
11.00-12.30 C# 4.0 Yenilikleri - Erkan Balaban (ceviz.net)
14.00-15.30 WPF 4 ile 3D Animasyon Programlama - Daron Yöndem  (yazgelistir.com)
16.00-17.30 ASP.NET 4.0 - Erkan Balaban (ceviz.net)

İstanbul - Microsoft Ofisi (Kroki)
12 Aralık
;
10.00-11.00 Silverlight 4 - Daron Yöndem (yazgelistir.com)
11.00-12.00 ASP.NET MVC 2 - Oğuz Yağmur (csharpnedir.com)
14.00-15.00 IIS Media Services - Muammer Benzeş (birliktegelistir.com)
15.15-16.15 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
13 Aralık
11.00-12.30 ASP.NET 4.0 Yenilikleri - Uğur Umutluoğlu (nedirtv.com)
14.30-15.45 Workflow Foundation 4.0 - Burak Selim Şenyurt (csharpnedir.com)
16.00-17.00 C# 4.0 Yenilikleri - Erkan Balaban (ceviz.net)
17.15-18.00 IE 8 Toolbar Geliştirme  - Barış Kanlıca (yazgelistir.com)

Kayseri - Erciyes Üniversitesi Mühendislik Fakültesi Konferans Salonu
19 Aralık
11.00-12.30 C# 4.0 Yenilikleri -Burak Selim Şenyurt  (csharpnedir.com)
14.00-15.30 Silverlight 4 - Daron Yöndem (yazgelistir.com)
15.45-16.45 ASP.NET 4.0 - Selçuk Yavuz (ceviz.net)

20 Aralık
11.00-12.30 ASP.NET MVC 2 - Selçuk Yavuz (ceviz.net)
14.00-15.30 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
15.45-16.45 Workflow Foundation 4.0 - Burak Selim Şenyurt (csharpnedir.com) 

Denizli - Pamukkale Üniversitesi Kongre Kültür Merkezi Ana Salon
26 Aralık
11.00-12.30 Silverlight 4.0 - Daron Yöndem (yazgelistir.com)
14.00-15.30 C# 4.0 Yenilikleri - Oğuz Yağmur (csharpnedir.com)
15.45-16.45 Asp.NET 4.0 Yenilikleri - Uğur Umutluoğlu (nedirtv.com)
27 Aralık
11.00-.12.30 Visual Basic 10 Yenilikleri - Daron Yöndem (yazgelistir.com)
14.00-15.30 Asp.NET MVC 2 - Oğuz Yağmur (csharpnedir.com)
15.45-16.45 ASP.NET AJAX 4.0 - Uğur Umutluoğlu (nedirtv.com)

Kayıt için www.inetatr.org adresini ziyaret etmeyi unutmayın!

Bu arada ilk etkinlik duyurumuzda da yer alan "Bir katılımcıya yeni bir beyin verilecektir" :) cümlesi biraz merak uyandırmış. Zaten amacı da buydu söz konusu cümlenin. Merak etmeye devam etmeniz gerekecek fakat emin olun bir katılımcıya çekilişle yeni bir beyin vereceğiz :) Bizde yalan yok :) Ayrıca birçok da sürpriz hediye olacak, benden söylemesi.

Sunday, November 29, 2009 2:43:22 PM (GTB Standard Time, UTC+02:00)  #    Comments [11]   .NET Framework 4.0 | ASP.NET | ASP.NET 4.0 | C# | IIS 7.0 | Seminer | Silverlight 4 | Visual Basic 2010 | Visual Studio 2010 | WCF | WF | Windows 7 | WPF  | 
 Wednesday, June 03, 2009

Arama Motoru Optimizasyonu konusu bazı durumlarda çok önemli bir hal alabiliyor. Bu konuya ciddi yatırım yapan kişiler / kurumsal bulmak hiç de zor değil. İşte tam da bu konuda Microsoft tarafından IIS7 için Search Engine Optimization Toolkit yayınlandı. Söz konusu Toolkit'i IIS7 üzerine aşağıdaki adresten indirerek bilgisayarınıza kurabilirsiniz.

Search Engine Optimization Toolkit (X86)
Search Engine Optimization Toolkit (X64)

Peki neler var içinde?

Toolkit içerisinde araçlara hızlı olarak ulaşmak için hemen IIS Manager'a açarak çalışan bir sitenizin özelliklerinin vs ayarlandığı ana sayfayı açabilirsiniz. Artık ASP.NET ve IIS gibi tabların yanı sıra bir de "Search Engine Optimization" adında tab ile karşılaşıyor olmanız gerekir. Söz konusu tab altında üç farklı komut göreceksiniz.

IIS Manager içerisinde yeni seçenekler.
IIS Manager içerisinde yeni seçenekler.

Gelin şimdi bu bölümlerin ne işe yaradıklarını tek tek inceleyerek bu yeni Toolkit ile neler yapabileceğimize bir göz atalım. İlk olarak "Site Analysis" adındaki kısım ile başlayalım ve hali hazırdaki bir sitemizin analizini yaptıralım.

Site Analysis

Bu bölüme girdiğinizde karşınıza boş bir ekran gelecek. Burada önemli olan IIS Manager'ın en sağında menüde nasıl komutlar ile karşılaşıyor olmamız. Komutların ilki hemen dikkati çekiyor "New Analysis" diyor. Hemen yeni bir analiz yaratmak için düğmeye basarak devam ediyoruz. Analiz için yeni bir isim verdikten sonra hemen analizi başlatabilirsiniz fakat unutmayın; IIS hemen sitenizdeki tüm linkleri takip ederek tüm sayfaları incelemeye başlayacak. Bu süreç sitenizdeki link yoğunluğuna göre çok uzun sürebilir ve bilgisayarınız tüm işlemci gücünü kullanacaktır. Yeni bir analiz yaratırken karşınıza çıkan ekranda "Maximum Number Of Links" ayarı ile kaç adet linkin incelenebileceğini ve "Maximum Download Size per Link" ile de link başına analiz için söz konusu adreslerden ne kadar verinin alınabileceğini sınırlayabilirsiniz.

SEO Toolkit'ten ilk rapor.
SEO Toolkit'ten ilk rapor.

Analiz bittiğinde ilk karşılaştığınız rapor en sık karşılaşılan hataların bir listesini oluşturuyor. Bu hataların bazıların sadece performans kaybına neden olurken bazıları ise doğrudan arama motorlarına ait optimizasyon ayarları ile ilgili. Taradığım siteyi itiraf etmeyeceğim :) fakat 3000 tane hedefi bozuk link olmasına şaşırmadım desem yalan olur.

Tabi eğer amacınız hataları düzeltmek ise yukarıdaki rapor pek anlamlı değil. Bu raporun haricinde Toolkit isterseniz en çok hata olan sayfaların bir listesini de verebiliyor. Sayfa sayfa tek tek raporu inceleyebilir ve her sayfada en çok kullanılan kelimelerin listelerini dahi alabilirsiniz. Performans noktasında ise en yavaş açılan sayfalarınızı listeleyen Toolkit belki de projenize hangi noktalarda sorun olduğunu bulmanıza da yardımcı olabilir.

Robots Exlusion

Robots.txt dosyası arama motoru optimizasyonu ile ilgilenen herkesin aşina olduğu dosyalardan biri. Bu dosya içerisinde kabaca arama motorunun web sitenizde hangi adreslere gitmesini istediğini istediğinizi veya aynı şekilde hangi adreslere gitmemesini istediğiniz belirtebilirsiniz. İşte bu dosyaya IIS Manager içerisinde de artık pratik bir şekilde yaratabilirsiniz. Hatta en güzel de bir önceki adımda oluşturduğumuz Web Analizi'nde yakalanan adresler üzerinden de bu ayarları yapabiliyor olmamız.

Robots.txt dosyasını IIS Manager üzerinden yaratalım.
Robots.txt dosyasını IIS Manager üzerinden yaratalım.

Sitemaps and SiteMap Indexes

SiteMap mantığı zaten bildiğimiz bir mantık. Normal şartlarda benim kişisel tavsiyem SiteMap dosyalarının özellikle veritabanına bağlı projelerde doğrudan veritabanından bilgi alınarak oluşturulması hatta bu bilginin yine otomatik olarak Robots.txt içerisine de eklenmesi. Böylece robots.txt içerisinde SiteMap'in adresi bulunursa arama motoru da SiteMap üzerinden ilerleyebilecektir. Tabi tüm bu yapıyı kodlamak yerine veya belki de farklı teknolojiler ile hazırlanmış sitelerle uğraşmak yerine IIS Manager üzerinden de yapabilirsiniz. Yine Robots.txt tarafında olduğu gibi burada da bir SiteMap yaratırken bir önceki adımda sitenin analizinde bulunan URL'leri kullanma şansınız oluyor. Son olarak söz konusu SiteMap'i de Robots'a eklediğiniz düşünürsek herşey tamamdır.

Sonuç

Aslına bakarsanız hem SiteMap hem de Robots.txt kısmı aslında çok da öne çıkan özellikler değiller. Zaten bu özellikler site analizine de bağlı olmasa neredeyse hiçbir anlamı kalmayacak. Fakat Site Analyse özelliği gerçekten güzel. Bu gibi analiz yapan ücretsiz araçlar bulmak mümkün fakat benim gördüğüm kadarı ile Toolkit'in kalitesini yakalayan araçlar genelde ücretli olarak satılıyor. Bu kapsam Toolkit hemen çalışmakta olan herhangi bir IIS'e yüklenerek optimizasyonu girişebilir bir ortam sağlıyor.

Hepinize kolay gelsin.

Tuesday, June 02, 2009 11:07:19 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]   IIS 7.0  | 
 Thursday, November 06, 2008

Bugün Microsoft Ankara ofisinde hosting sağlayıcılara yönelik bir eğitimimiz var. IIS 7 ile beraber gelen yeni özelliklerin yanı sıra ASP.NET 3.5 ve programcıların dertlerinden bahsettik. Tabi hosting sağlayıcılarımız da dertleri vardı. Programcıların hatalarından kaynaklanan bazı sorunlar yüzünden hosting sağlayıcıların müşteri ile uğraşmak zorunda kaldığı derdi de aslında bir gerçek :)

Microsoft Ankara hosting sağlayıcılar eğitimi.
Microsoft Ankara hosting sağlayıcılar eğitimi.

Eğitimde kullandığım sunumu aşağıdan indirebilirsiniz.

IIS 7 ve ASP.NET 3.5 sunumu - 09112008_1.pptx (206,66 KB)

Hepinize kolay gelsin.

Thursday, November 06, 2008 4:39:27 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]   ASP.NET 3.5 | Eğitimler | IIS 7.0  | 
 Monday, October 20, 2008

Hafta sonunu Ankara'da geçirdik. Neden mi? INETA Capital Hit zamanıydı! Atladık INETA minibüsümüze :) yollara düştük. Maceralarımızla ilgili videolar ve fotoğraflar çok yakında bu blogda :)

İki kocaman gün boyunca dopdolu bir programla Çankaya Üniversitesi'nde iki yüz elli kişilik bir ekip olarak yattık kalktık diyebilirim. Yine her zamanki gibi benim için muhteşem zevkliydi.

Pazar akşamı saat yedide Capital Hit'i sonlandırdık.
Pazar akşamı saat yedide Capital Hit'i sonlandırdık.

Aktiviteye katılan tüm konuşmacı dostlarıma binlerce teşekkür. Ayrıca Çankaya Üniversitesi Bilişim Kulübü ve sevgili MSP, Çağrı Erdoğan'a da çok teşekkürler. Bir organizasyonda ancak bu kadar başarılı bir misafirperverlik sergilenebilirdi.

Tabi ki her şey bu kadarla bitmiyor! Elimde birçok fotoğraf, minibüs yolculuğumuzdan videolar ve panel kaydımız var. Hepsini büyük bir hızla hazırlamaya çalışıyorum. En kısa zamanda sizlerle buradan paylaşacağım.

Şimdilik aşağıdaki sunumlarla idare edelim :)

AdoNet Data Services / Burak Selim Şenyurt - 20102008_1.pptx (1,01 MB)
LINQ / Uğur Umutluoğlu - 20102008_2.pptx (750,29 KB)
WCF / Burak Selim Şenyurt - 20102008_3.pptx (460,14 KB)

Not: Bu sefer ben hiç sunum kullanmadım, doğrudan demolarla ilerledim. O nedenle sunum paylaşamıyorum.

Monday, October 20, 2008 6:24:54 PM (GTB Standard Time, UTC+02:00)  #    Comments [9]   .NET Framework 3.5 | ASP.NET 3.5 | Expression Blend | Haberler | IIS 7.0 | LINQ | Seminer | Silverlight 2.0 | WCF | WPF  | 
 Friday, September 26, 2008

INETA Summer Hit üzerinden uzun bir zaman geçti gibi hissettiğimiz bu günlerde yeni bir aktivite serisi ile tekrar karşınızdayız. Bu sefer İstanbul değil Anadolu'nun merkezi, Başkentimiz Ankara'da olacağız.

INETA Capital Hit Afişi

Dikkat ederseniz İstanbul'daki Summer Hit sonrası içeriğimizi de epeyce değiştirdik. Tabi bunda sizlerin doldurmuş olduğu değerlendirme formlarının etkisi çok büyük. Bu sefer çok daha sıkışık ve yoğun bir tempomuz olacak. Hediyelerimiz daha fazla (hatta çok ilginç beklenmedik şeyler var :)) ve içecek sorununu da hallettik (:))

İlk gün sabah yine SL 2.0 ile başlayıp sonra benim çok önem verdiğim IIS 7'ye geçeceğiz. IIS 7.0 üzerinde ASP.NET ve PHP tarafında çok güzel yenilikler var. Sonrasında her zamanki gibi bir sohbet panelimiz olacak. Son olarak LINQ ile ilk günümüzü kapatacağız. İkinci gün WPF ile başlayarak ADO.NET Data Services konusunu inceleyeceğiz. Heyecanlandığınızın farkındayım :) Sonrasında IE 8.0 ile gelen yazılımcı ve tasarımcıları ilgilendiren yenilikler ve yeni uygulama platformlarını inceleyerek WCF dünyasına da atılarak iki günü sonlandıracağız.

Aktiviteye üniversite girişinde güvenlik sorunları yaşamamak adına kayıt olmanız şart.

Kayıt adresi: http://daron.yondem.com/kayit/

Emeklerinden dolayı buradan sevgili MSP, Çağrı Erdoğan'a çok teşekkür ediyorum.

Aktiviteyi duyururken geçen sefer güzel bir başarı elde etmiştik. Bu sefer de yine aşağıdaki bannerı kullanabilirsiniz. Banner'a tıklandığında link olarak da kayıt adresini verebilirsiniz.

INETA Capital Hit Banner

Hepinizi bekliyorum ;)

Friday, September 26, 2008 8:59:59 AM (GTB Standard Time, UTC+02:00)  #    Comments [23]   .NET Framework 3.5 | ASP.NET 3.5 | Expression Blend | IIS 7.0 | LINQ | Seminer | Silverlight 2.0 | Visual Basic 2008 | Visual Studio 2008 | WCF | WPF  | 
 Thursday, August 21, 2008

Bugün İzmir'de hosting sağlayıcılar ile bir bir eğitimimiz oldu. Benim için çok güzel bir fırsattı :) çünkü zaten hali hazırda Türkiye'deki hosting sağlayıcılar ile ilgili dertliyim. Şirket tarafında müşterilerimize sunduğumuz içerik yönetim sistemlerini müşterilerimiz hosting sağlayıcılardan aldıkları alanlara koyduklarına bir çok sorun ile karşılaşıyoruz. Bu sorunların detaylarına inerek eğitim boyunca ASP.NET hosting yaparken nelere dikkat edilmesi gerektiğine değindim.

Microsoft Hosting Çözümleri Eğitimi, İzmir
Microsoft Hosting Çözümleri Eğitimi, İzmir

Seminerlerde özellikle bana "ASP.NET 3.5 destekli hosting nasıl buluruz?" gibi sorular geliyor. Bu soruları ve arayışı doğrudan hosting firmalarındaki yetkililere iletme şansım oldu. İlginç bir şekilde sunucularında .NET Framework 3.5 kurulu olduğunu fakat sitelerinde hala 2.0 yazdığını söylediler :) Tabi en kısa zamanda bu hatayı düzeltecekler. Hatta birkaç gün içerisinde SP1 yüklü hostinglerimiz bile olacak Türkiye'de.

Bir diğer konu da tabi ki Silverlight'dı :) Silverlight'ın IIS tarafındaki Mime Type ayarlarından ve detaylarından bahsettik.

Eğitimde kullandığım sunumu aşağıdan indirebilirsiniz.

Hosting Çözümleri Eğitimi Sunumu - 21082008_1.pptx (206,66 KB)

Thursday, August 21, 2008 8:15:42 AM (GTB Standard Time, UTC+02:00)  #    Comments [12]   ASP.NET 3.5 | IIS 7.0 | Silverlight | Silverlight 2.0  | 
 Wednesday, August 20, 2008

Server 2008 ile beraber IIS 7.0'ın gelmesi özellikle ASP.NET geliştiricileri için büyük kolaylıklar sunuyor. Bu yazımda sizlere bu kolaylıklardan ufak bir demet sunarken özellikle HttpModule yazma ve IIS 7.0 tarafında kullanma konusuna değineceğim.

Web.Config içindeki hazine

Web.Config dosyası normalde biz yazılım geliştiricilerin sadece kendi uygulamaları ile ilgili ayarları sakladıkları bir yerdi. Oysa artık IIS içerisinde web uygulamanızın çalıştığı sitenin ayarları ile uygulamanızın ayarlarına aynı gözle bakabiliriz. Bunun bir sonucu olarak aynı site ile ilgili hem programatik ayarlar hem de IIS üzerindeki ayarlar artık Web.Config içerisinde saklanıyor. Gelin Visual Studio 2008 ile yarattığımız yeni bir ASP.NET sitesinin Web.Config dosyasının ufak bir bölümüne göz atalım.

    <!--

        The system.webServer section is required for running ASP.NET AJAX under Internet

        Information Services 7.0.  It is not necessary for previous version of IIS.

    -->

    <system.webServer>

      <validation validateIntegratedModeConfiguration="false"/>

      <modules>

        <remove name="ScriptModule" />

        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

      </modules>

      <handlers>

        <remove name="WebServiceHandlerFactory-Integrated"/>

        <remove name="ScriptHandlerFactory" />

        <remove name="ScriptHandlerFactoryAppServices" />

        <remove name="ScriptResource" />

        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"

            type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"

            type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      </handlers>

    </system.webServer>

Gördüğünüz gibi normalden farklı olarak Web.Config içerisinde system.webServer adında bir tagımız var. Zaten tag ile ilgili gerekli açıklama İngilizce olarak hemen üstündeki yorum satırlarında yapılmış. system.webServer tagları arasındaki ayarlar sadece IIS 7.0 içerisinde geçerli olacak ve burada yapılan ayarlar ile bu uygulamanın çalışacağı IIS içerisinde sitedeki modüller ve HttpHandler'lar düzenlenmiş olacak. Böylece artık IIS 7.0'a bir site yükledikten sonra ayarlarını yapabilmeniz için harici bir web paneli kullanmanız veya sunucuda admin haklarına sahip olmanız gerekmiyor. Doğrudan neredeyse tüm ayarları Web.Config içerisinde düzenleyebiliyoruz.

Bu sistemin bir diğer avantajı ise kendi bilgisayarınızda çalıştığınız IIS üzerinde yaptığınız tüm ayarların otomatik olarak sunucuya Web.Config dosyasının atılması ile karşı tarafa da yansıması. Böylece "Benim bilgisayarımda çalışıyor ve sunucuya atınca çalışmıyor" şikayetlerine son geliyor diyebiliriz. Artık web sitenizi sunucuya yüklediğinizde tüm ayarlarını da karşı tarafa aktarmış oluyorsunuz.

Ufak bir örnek...

IIS içerisinde her web sitesinin otomatik olarak açılmaya ayarlı sayfaları vardır. Genelde bunlar default.htm, default.aspx gibi sayfalardır ve varsayılan ayarlar ile karşımıza çıkarlar. Böylece sunucuya bir site yüklediğinizde ilk olarak hangi sayfanın açılması gerektiği belirtilmiş olur. Eğer bu ayarı IIS 6.0'da değiştirmek isterseniz ya hosting sağlayıcınızın size bir yönetim paneli sunması lazım ya da yine size özel script hakları ayarlaması gerekir. Oysa IIS 7.0 içerisinde bu ayar Web.Config içerisinde saklanıyor. Nasıl mı?

Bilgisayarınızda IIS 7.0 Manager'ı açarak ASP.NET web sitenizi seçin ve IIS Manager içerisinde "Default Document" kısmına giderek yeni bir doküman ismi ekleyin.

IIS 7.0 içerisinde "Default Document" ayarı.
IIS 7.0 içerisinde "Default Document" ayarı.

Bu yaptığınız ayarı kendi bilgisayarınıza yaptınız ve sitenizi sunucuya yüklediğinizde tekrar yapmanız gerekecek! dersem de inanmayın. Çünkü IIS 7.0 içerisindeki bu ayar aslında söz konusu web sitesindeki Web.Config dosyasına yazıldı, aynen aşağıdaki gibi;

  <system.webServer>

        <defaultDocument>

            <files>

                <add value="ornek.aspx" />

            </files>

        </defaultDocument>

  </system.webServer>

Gördüğünüz gibi IIS içerisinde yeni bir "Default Document" eklemek için aslında tek yapmanız gereken Web.Config'de gerekli tanımlamaları yapmak. Bunun gibi daha birçok ayar tamamen Web.Config içerisine hapsedilmiş durumda. Böylece çoğu sorundan kolayca kurtulmak mümkün.

HttpModule yazalım...

IIS 7.0'ın çalışma yapısı ile IIS 6.0'ın yapısı arasında büyük fark var. IIS 6.0'da ISAPI önünde HttpModule yazabilirken IIS 7.0'da aslında çok daha düşük seviyelere inebiliyoruz. Örneğin ASP.NET ile yazdığınız bir HttpModule otomatik olarak sitenizdeki tüm HTML dosyalarını ve PHP sayfaları bile etkileyebiliyor. Bunun nedeni HttpModule'ün doğrudan IIS'in ana motoru üzerinde çalışıyor olması, yani tam bir entegrasyon söz konusu.

Bir HttpModule yazmak için basit bir şekilde yeni bir sınıf oluşturarak iHttpModule interface'ini implemente etmek yeterli olacaktır. Bu işlemi yaptıktan sonra HttpApplication üzerinden bir Request işleminin tüm event'larına ulaşabilirsiniz. Örneğin aşağıdaki gibi bir HttpModule web sayfası içerisinde açılan her sayfanın başına bir metin ekleyecektir.

[VB]

Imports Microsoft.VisualBasic

 

Public Class Class2

    Implements IHttpModule

 

    Public Sub Dispose() Implements System.Web.IHttpModule.Dispose

 

    End Sub

 

    Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModule.Init

        Dim myapp = CType(context, HttpApplication)

        AddHandler myapp.BeginRequest, AddressOf myapp_BeginRequest

    End Sub

 

    Private Sub myapp_BeginRequest(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim myapp = CType(sender, HttpApplication)

        myapp.Context.Response.Write("Deneme")

    End Sub

End Class

[C#]

public class Class1 : IHttpModule

{

    public Class1()

    {

 

    }

 

    public void Dispose()

    {

        throw new NotImplementedException();

    }

 

    public void Init(HttpApplication context)

    {

        HttpApplication myapp = (HttpApplication)context;

        myapp.BeginRequest += new EventHandler(myapp_BeginRequest);

    }

 

    void myapp_BeginRequest(object sender, EventArgs e)

    {

        HttpApplication myapp = (HttpApplication)sender;

        myapp.Context.Response.Write("Deneme");

    }

}

Tabi bu gibi bir HttpModule'ü kullanabilmeniz için Web.Config içerisinde gerekli ayarlamayı da yapmanız gerekir.

  <system.webServer>

    <validation validateIntegratedModeConfiguration="false" />

    <modules>

            <remove name="WindowsAuthentication" />

            <remove name="UrlMappingsModule" />

            <remove name="UrlAuthorization" />

            <remove name="StaticFileModule" />

            <remove name="StaticCompressionModule" />

            <remove name="Session" />

            <remove name="ServiceModel" />

            <remove name="RoleManager" />

            <remove name="RequestMonitorModule" />

            <remove name="RequestFilteringModule" />

            <remove name="ProtocolSupportModule" />

            <remove name="Profile" />

            <remove name="OutputCache" />

            <remove name="IsapiModule" />

            <remove name="IsapiFilterModule" />

            <remove name="HttpLoggingModule" />

            <remove name="HttpCacheModule" />

            <remove name="FormsAuthentication" />

            <remove name="FileAuthorization" />

            <remove name="DirectoryListingModule" />

            <remove name="DefaultDocumentModule" />

            <remove name="DefaultAuthentication" />

            <remove name="CustomErrorModule" />

            <remove name="ConfigurationValidationModule" />

            <remove name="AnonymousIdentification" />

            <remove name="AnonymousAuthenticationModule" />

      <remove name="ScriptModule" />

            <add name="DefaultDocumentModule" />

            <add name="AnonymousAuthenticationModule" />

            <add name="YeniModul" type="Class12 />

    </modules>

  </system.webServer>

Yukarıdaki kod içerisinde IIS 7.0'ın mödüllerini düzenliyoruz. İlk olarak tüm modülleri pasif hale getirerek kullanmayacağımız işlemleri iptal ediyoruz. Sonrasında da sadece üç modül istiyoruz. Bunlardan DefaultDocumentModule otomatik olarak varsayılan dokümanın açılmasını sağlıyor. AnonymousAuthenticationModule ise anonim ulaşımı sağlıyor. Sonrasında da bizim yazdığımız HttpModule'ün sınıf ismini taşıyan yeni modülümüzü ekliyoruz. Böylece artık bu web sitesi içerisindeki tüm isteklerde bu modül de çalışacak.

İsterseniz tüm bu modül ayarlarını otomatik olarak IIS Manager içerisinde de yapabilirsiniz. Ayarlamaları yapacağınız web sitesini seçtikten sonra "Modules" kısmına geçerek tüm modülleri silebilir, sağ menüden "Add Managed Module" diyerek site içerisinde yazılmış modülleri bularak ekleyebilirsiniz.

Başka neler var?

IIS 7.0 içerisinde FastCGI ile PHP desteği geliyor. Hatta PHP tarafında da yukarıdaki HttpModule'lerin çalıştığını düşünürseniz PHP ile tüm bu modülleri kullanabileceğiniz sonucuna varabilirsiniz. Örneğin ASP.NET Forms Authentication modülünü PHP ile kullanabilirsiniz hatta böylece yarısı PHP yarısı ASP.NET ile yazılmış bir sitede global Authentication sistemi bile kurmuş olursunuz. Daha bu gibi bir çok esnekliğe sahip olan IIS 7.0 ile yazılım geliştirme ortamı arıyorsanız Vista ile beraber IIS 7.0'ın geldiğini de hatırlatmak isterim.

Hepinize kolay gelsin.

Wednesday, August 20, 2008 7:57:03 AM (GTB Standard Time, UTC+02:00)  #    Comments [9]   ASP.NET 3.5 | IIS 7.0  | 
 Monday, January 14, 2008

Bugün 40 kişilik bir katılım ile IIS7.0 ve ASP.NET 3.5 Yenilikleri webinerimizi gerçekleştirdik. Webiner boyunca IIS 7.0 ile gelen ve yazılım geliştiricilerin hayatını kolaylaştıracak kolaylıklardan bahsederken Web.Config dosyasında yeniliklere değinip bir de IIS7.0 HTTPModule programlama örneği yaptık. Özellikle bu son konuyla ilgili yakında bir makale yazmayı da planlıyorum :)

Webinerde kullandığım sunumu aşağıdan indirebilirsiniz.

Sunum Slaytları - 14012008_1.xps

Not:Sunumları XPS olarak koyduğum için bolca soru geliyor XPS ile ilgili. Özetle Microsoft'un PDF alternatifi diyebiliriz. Güzel tarafı yine Microsoft'un biz yazılım geliştiricileri düşünerek kolay üretilebilir bir format yaratmış olması. XPS dosyaları özünde içlerinde XML dosyaları barındıran ZIP dosyalarıdır, PDF gibi programatik olarak yaratılması zor dosyalar değildir. XPS dosyalarını Internet Explorer ile açabilirsiniz, fakat sisteminizde .NET Framework 3.0 kurulu olması gerekir.

Monday, January 14, 2008 5:32:51 PM (GTB Standard Time, UTC+02:00)  #    Comments [5]   IIS 7.0 | Webiner  | 
 Saturday, January 12, 2008

14 Ocak, Pazartesi günü saat 15.15-16.00 arasında IIS 7.0 ve ASP.NET ile Gelen Yenilikler webineri ile karşınızda olacağım. Webiner boyunca Vista ile karşımıza çıkan ve Windows Server 2008 ile sunucu tarafında da kısa zamanda kullanabileceğimiz IIS 7.0'ın ASP.NET yazılım geliştiricileri için getirdiği yeniliklerden bahsedeceğiz.

Meeting ID: T9FQCG
Webiner Bağlantısı :https://www112.livemeeting.com/cc/microsoft/join?id=T9FQCG&role=attend&pw=wJp%2F%3FB%3D7s
Webinere kayıt olmak için tıklayınız.

Bu webiner Microsoft Kurumsal Webiner serisinden olduğu için yukarıdaki linkten giriş yaparak kayıt olmanız gerekiyor.

Saturday, January 12, 2008 8:22:12 AM (GTB Standard Time, UTC+02:00)  #    Comments [0]   ASP.NET 3.5 | Webiner | IIS 7.0  | 
Copyright © 2010 Daron Yöndem. Tüm hakları saklıdır.