Herhangi bir web sitesine bir ASP.NET uygulaması yerleştirdiğinizde otomatik olarak uygulama
ile beraber Web.Config dosyasını da sunucuya yerleştirmiş olursunuz. Bazı
durumlarda (benim blogda olduğu üzere) birden çok ASP.NET uygulamasını tek bir
alan adı altında çalıştırmanız gerekebilir. Bu uygulamaları iç içe klasörlerle
ayırmak vs pek işe yaramaz çünkü kök klasörde bulunan Web.Config içerisinde tüm
ayarlar alt klasörleri de otomatik olarak etkiler. Yani bir "inheritance" durumu
söz konusudur.
Kök dizindeki Web.Config içerisindeki tüm ayarları tek tek iç dizinlerdeki
Web.Config'ler içerisinde "remove" etmek mümkün fakat çok zahmetli bir iş. Diğer
yandan bazı durumlarda farklı ASP.NET sürümlerini de aynı site içerisinde
kullanmak isteyebilirsiniz, örneğin benim blog ASP.NET 2.0 kullanırken aktivite
kayıt uygulamam ASP.NET 3.5 ile hazırlandı.
İşin kolayı!
Herhangi bir Web.Config dosyası içerisindeki ayarları "inheritance" ile alt
klasörlerini geçmesini istemiyorsanız aslında yapacağınız çok ufak bir ayar var.
<location path="." inheritInChildApplications="false">
<system.web>
<!--Tüm ayarlar burada-->
</system.web>
</location>
Web.Config dosyanız içerisinde tüm ayarların bulunduğu
System.Web taglarını
ayrıca bir location tagı içerisine alarak söz konusu location tagının da
inheritInChildApplications özelliğini False
olarak ayarlarsanız artık kök dizindeki ayarlarınız diğer dizinler tarafından
kullanılmayacaktır. Böylece rahatlıkla yeni uygulamalarınızı aynı alan adına
yükleyebilirsiniz.
Hepinize kolay gelsin...