This post is also available in English

Bir süredir evde kullanmaya başladığım Windows 7'den oldukça memnun sayılırım. Hatta kısa sürede özellikle performansından dolayı fanatiği oldum diyebilirim.

Diyebilirdim yada. Bugün IIS üzerinde bir websitesini çalıştırmak tam 1 saat 40 dakikamı alana kadar.

Acısız olmasını beklemiyordum ama bu kadar kanlı olmasını da beklemiyordum açıkçası. Her zaman yaptığımız gibi sitemi oluşturdum, hemen görmek istedim boş sayfayı. IIS'i açtığımda IIS 7.5'un jelibon-bonbon yüzünü görünce işlerin iyi gitmeyeceği içime doğmuştu zaten. Neyse, websitesi tanımlamasını yaptım. Tarayıcıya yöneldim ve ilk hata:

HATA 1: HTTP Error 500.19 / Error Code: 0x80070005 / Config Error: Cannot read configuration file due to insufficient permissions

Araştırma süreci başladı tabi ki. Sorunun yetki hatası olduğu belliydi. Web projesinin dizinine IIS_IUSRS kullanıcısına yetki verdim. Tarayıcıda sayfayı refresh ettim ve ikinci hata:


HATA 2: HTTP Error 500.19 / Error Code: 0x80070021 / Config Error: This configuration section cannot be used at this path. This happens when the section is locked at parent level....

En fazla bilgi öğreten hata bu oldu. Her ne kadar öğrendiklerim hata ile ilgili olmasa da... Araştırmalar sonucunda kolay bir çözümü olduğunu öğrendim.
%windir%\system32\inetsrv\config\applicationhost.config konumundaki dosyayı açıp, içerisindeki

<section name="handlers" overrideModeDefault="Deny" />
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
satırlarındaki "Deny" ibarelerini "Allow" yapmak. Bu sayede bu section'ların web.config üzerinden override edilmesine izin vermek.
İşlem kolay, kolay olmasına da dosyayı bulabilirsen... Hemen Total Commander'ıma geçtim, dizine gittim, o da ne, dizin boş? Ara tara boş. Hemen cmd'ye geçtim. Dizine gittim yok da yok.
En sonunda bir forumda "SYSWOW32 Redirection" denen bir zımbırtıyı öğrendim. 64Bit işletim sistemlerinde, sistem dizini iki adet. Bir System32 bir de SysWOW64. Ancak bütün yazılımlar sistem dizinine aynı şekilde erişmek isteyeceği için, Microsoft, 32 Bit'lik yazılımlar sistem dizinlerine erişirken "SYSWOW32 Redirection" ile onları 32Bit dizinine atıyor. Yani dizine gözatmak için kullandığınız yazılım (bende Total Commander ve cmd) 32 bit ise, dizinde hiçbirşey olmuyor, çünkü o dizin o dizin olmuyor.
Bunu da öğrendikten sonra 64Bit'lik Notepad ile tam dosya adresi vererek dosyayı açmaya muktedir oldum ve değişiklikleri yaptım. Tarayıcıya döndüm, refresh veee buyrun 3. hata:


HATA 3: HTTP Error 401.3 / Error Code: 0x80070005 / Unauthorized

Uzun araştırmalardan sonra, sorunun IIS7.5 üzerindeki site yetkilendirmesindeki bir sorun olduğunu tespit edebildim. Düzeltmek için şu adımları izlemek gerekiyor:
1. IIS7.5'a girilir,
2. "Sites" dalı genişletilir, sorunlu web sitesinin adına tıklanır.
3. Sağ taraftan "Authentication"a çift tıklanır.
4. "Anonymous Authentication" öğesine sağ tıklanır "Edit..." denir.
5. "Application Pool Identity" seçenği işaretlenir
6. Kaydedilir.
Adımları tamamladım, büyük bir hevesle "bu sefer tamam" diyerek tarayıcıya döndüm F5 veeee 4.hata:


HATA 4: HTTP Error 404.3 / Error Code: 0x80070032 / Not Found

Hata mesajından ASP.NET handler'ının çalışmadığını düşündüm ama, jelibon-bonbon IIS7.5'da nasıl bulasın da düzeltesin handlerları. Bu sefer onu aramaya başladım. Handlerların yerini tespit ettim ama ASP.NET handler'larının yerinde yeller esiyordu. Meğerse Windows 7, Framework kurulsa dahi, ayrı ASP.NET bileşenlerini aktive etmeyi gerektiriyor. Bunun için denetim masasından "Programs and Features" altından "Turn Windows Features on or off" diyoruz ve çıkan ağaçta şu dala kadar gidiyoruz: "Internet Information Services/World Wide Web Services/Application Development Features". Buradaki öğelerden, "CGI" hariç diğerlerini işaretliyoruz.

Bu işelmi de tamamladım tarayıcıda refresh, yine bir hata. Ama bu sefer ne güzel ki artık sarı ASP.NET hata sayfası görebilmeye başlamıştım. Anlamsız bir hataydı ama bir compile edeyim projeyi tekrar dedim. Netekim düzeldi ve boş, düz beyaz Default.aspx sayfamı görmeyi başardım...

Yukarıda anlattığım sorunlar, orası burası kurcalanmış yada uzun süredir kullanılarak sorunlara yol açılmış bir Windows kurulumnda değil, 3-4 gün önce yeni işletim sistemi ve 1 gün önce de yeni Visual Studio 2008 kurulumu ile tam manasıyla bir out-of-the-box sistem üzerinde meydana geldi.

Umarım bu sorunları yaşayan birilerin biraz faydam dokunur...

20 Responses to "Windows 7'de bir ASP.NET, IIS 7.5 hikayesi.."

  1. gravatar Bahar Selimgil Says:

    Aynı hatalarla karşılaştım ve sayende hemen çözdüm.Allah razı olsun senden,çok sağol

  2. gravatar Che Says:

    İşinize yaramasına çok sevindim. Güzel yorumunuz için de ayrıca teşekkürler...

  3. gravatar Adsız Says:

    bende ııs 7 kullanana bir host almıştım şimdi patladım bakalım düzelticekler sizin yazınızı onlara gönderdim.

  4. gravatar Che Says:

    Umarım sorunu çözebilirler. Bir kaç farklı kurulumda benzer hatalar ile karşılaştığım için çözebileceklerini düşünüyorum. Eğer yabancı bir hosting kullanıyorsanız yazının İngilizce bir versiyonu da şu adreste mevcut: http://surprisinglyweb.blogspot.com/2010/02/aspnet-iis-75-story-on-windows-7.html

    Sorununuz çözülürse buraya da haber verirseniz, belki farklı kullanıcılar da çözümleri denemek için yüreklenir :)

  5. gravatar Adsız Says:

    Açıklamaların çok doğru ve
    çok teşekkürler
    bize kazandırdığın vakit için..

    gurcanozturk.modyaz.com

  6. gravatar Che Says:

    Yaşadıklarımın sizin de işinize yaramış olduğunu duymak çok güzel.

    Güzel görüşleriniz için de ayrıca teşekkürler...

  7. gravatar Mehmet Ali Says:

    Ayrıca Visual Studio da debug yapabilmek için "Turn Windows Features on or off" altında Services\World Wide Web Services\Security\Windows Authentication seçeneğini işaretlemeniz ve IIS 7.5 altında etkin yapmanız gerekebilir. Benim de başıma böyle bir şey gelmişti.

  8. gravatar Che Says:

    Katkınız için çok teşekkürler Mehmet Ali Bey...

  9. gravatar Dolunay Says:

    gerçekten güzel bir paylaşım aynen bahsettiğin sorunları clearcanvas imageserver kurarken yaşadım sonunda sizin yazınızı buldum elinize sağlık ve çalışan birsayfayla karşılaşmak çok güzel
    teşekkürler

  10. gravatar altugfb Says:

    dostum gerçekten sağ ol.Fakat bu dediklerini yaptıktan sonra;

    Yapılandırma Hatası
    Açıklama: Bu isteğe hizmet vermek için gereken bir yapılandırma dosyası işlenirken bir hata oluştu. Lütfen aşağıdaki özel hata ayrıntılarını gözden geçirin ve yapılandırma dosyanızı uygun biçimde değiştirin.

    Ayrıştırıcı Hatası İletisi: Bu hata, uygulama düzeyinin dışında, allowDefinition='MachineToApplication' olarak kaydettirilen bir bölümün kullanılmasıyla ilgilidir. Bu hatanın nedeni IIS içinde bir uygulama olarak yapılandırılmamış sanal bir dizin olabilir.

    Kaynak Hatası:


    Satır 44: ASP.NET to identify an incoming user.
    Satır 45: -->
    Satır 46:
    Satır 47: section enables configuration

    hatası almaya başladım.Bunun nedeni nedir? Bilen var mı gerçekten kafayı yicem:(

  11. gravatar altugfb Says:

    dostum gerçekten sağ ol.Fakat bu dediklerini yaptıktan sonra;

    Yapılandırma Hatası
    Açıklama: Bu isteğe hizmet vermek için gereken bir yapılandırma dosyası işlenirken bir hata oluştu. Lütfen aşağıdaki özel hata ayrıntılarını gözden geçirin ve yapılandırma dosyanızı uygun biçimde değiştirin.

    Ayrıştırıcı Hatası İletisi: Bu hata, uygulama düzeyinin dışında, allowDefinition='MachineToApplication' olarak kaydettirilen bir bölümün kullanılmasıyla ilgilidir. Bu hatanın nedeni IIS içinde bir uygulama olarak yapılandırılmamış sanal bir dizin olabilir.

    Kaynak Hatası:


    Satır 44: ASP.NET to identify an incoming user.
    Satır 45: -->
    Satır 46:
    Satır 47: section enables configuration

    hatası almaya başladım.Bunun nedeni nedir? Bilen var mı gerçekten kafayı yicem:(

  12. gravatar muraterhan Says:

    Ellerinize sağlık hocam çok işime yaradı

  13. gravatar Afife Says:

    Ya ALLAH RAZI OLSUN NE DİYİM =)

  14. gravatar Adsız Says:

    Paylaşımlarınız için teşekkür ederiz. Herhangi bir sorunda dell laptop tamircisi olarak hizmet vermekten onur duyarız.

  15. gravatar Adsız Says:

    Detaylı yazın ve üşenmeden ayırdığın vaktin için teşekkürler... Bayağı vakit kazandırdın bana:)

  16. gravatar Unknown Says:

    aynı sorun bendede oldu wcf servisi ııs'e atmaya çalıştım ama aynı hatayı verdi dediğin işlemi yaptım ama hata devam ediyor

  17. gravatar Asp Mağduru Says:

    Tek cümle, Allah senden razı olsun

  18. gravatar Unknown Says:

    Çok teşekkürler, asp sayfaların olduğu bir iş geldi ve nasıl çalıştırırım derken size rastladım.

    Allah razı olsun, başarılar dilerim :)

  19. gravatar nuri Says:

    Adamsın Sen Adam Eyw Kardeşim Emeğine Sağlık.

  20. gravatar eg Says:

    Gerçekten çok teşekkürler, 1 saattir aradığım hataların çözümünü buldum.

Copyright Ali INAL ©2009 - Creative Commons Licence
preload preload preload

Taşındık!


Ali's Surprisingly Web blog'u, artık yeni, güçlü ve daha esnek altyapısıyla yeni adresinden yayın yapıyor. Yeni adresimiz: http://surprisingly.web.tr. Bu eski blog sayfalarındaki bütün içerik, yeni blog altyapısına da taşındı. Arzu ederseniz sizi yeni blog'umda ağırlamak isterim.
Yeni blog'a gitmek istiyorum Bu sayfayı okumak istiyorum

We've Moved!


Ali's Surprisingly Web Blog is now serving from a new, stronger and flexible system with a brand new address. Our new address: http://surprisingly.web.tr. Also we've migrated all old content from this blog to our new blog. If you wish, I want to welcome yo to my new blog.
I want to visit new blog I want to stay and read this page