.NET WEB uygulamaları içerisinde bulunduğu dizin içersindeki tüm erişim kontrolleri Web.config dosyası ile kontrol ediyor. Aynı dizin içerisinde yer alan diğer uygulamalar bu dosyayı inherit ederek çalışıyorlar. Yani root domain dizin içerisinde bir sub domain oluşturduğunuzda ve bu sub folder içerisinde farklı bir .NET WEB uygulaması çalıştırmaya kalktığınızda sub uygulamanızın Web.config dosyası root uygulamanın Web.config dosyasından inherit ediliyor. Bu demek oluyor ki siz sub uygulamanızı çağırdığınıza aslında ilk root uygulamanızın Web.config dosyası da işletilmiş oluyor. Eğer root ile uyumlu olmayan ve sub folder içerisinde yolu doğru olarak bulunmayan namespace'ler var ise uygulamanız doğal olarak hata verecektir. Aşağıda bunu basit bir gösterim ile ifade etmeye çalıştım.
Eğer bu kalıtımı engellemek istiyorsanız root domain içerisinde yer alan web.config dosyanızda aşağıdaki gibi bir yapı oluşturmanız yeterli olacaktır;
<location path="." inheritInChildApplications="false">
<system.web>
.
.
.
</system.web>
</location>