Állítsátok meg a web.configot

.NET platformon a konfigurációs beállítások öröklődnek és ez igaz az ASP.NET-re is. Ha egy felsőbb mappában beállítunk valamit a web.config fájlban, akkor az érvényes lesz az almappákra is, ami általában rendben is van. A gondok akkor jönnek elő, amikor egy alkalmazást egy másik alá telepítünk, például mert az egyik alkalmazás a gyökérben van, a másik pedig egy almappában.

Érdekes hibaüzenetekkel és jelenségekkel találkozhatunk, például ha:

  • A felsőbb alkalmazásnál felveszünk valamelyik szolgáltatáshoz egy providert (pl. Health Monitoringhoz), a gyermek alkalmazás a saját bin vagy App_Code könyvtárában fogja keresni, de persze nem találja.
  • Kiveszünk egy modult a csővezetékből (én például a Session, az AnonymousIdentification, a PassportAuthentication, a WindowsAuthentication, és a Profile modulokat rendszeresen), a gyermek alkalmazásnak pedig szüksége lenne rá.
  • Átállítjuk a defaultDocument értékét és nem jönnek be oldalak.

És akkor még nem beszéltem arról, hogy akár két különböző .NET Framework verziót is igényelhet a két alkalmazás.

Sajnos nem elég, ha a két mappát külön-külön alkalmazássá tesszük az IIS-ben. Szükséges, de nem elég, mert ez csak azt határozza meg, hogy a gyermek alkalmazás gyökér web.config-jában is használhatunk alkalmazás szintű beállításokat.

A beállítások öröklésének megakadályozására a külső alkalmazás web.config-jában használhatjuk a location tag inheritInChildApplications attribútumát:

    <location path="." inheritInChildApplications="false">
        <system.web>
            <!-- Itt jönnek sorban a beállítások -->            
        </system.web>
    </location>

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s