ASP.NET Routing IIS 7-en

Bevallom, hogy eleinte vonakodtam az ASP.NET Routingtól, mert nem tetszett, hogy a routing szabályok ennyire bedrótozódnak az alkalmazásba, de amikor rájöttem, hogy az URL-ek megépítésére is van benne beépített támogatás, akkor elkezdett jobban tetszeni, mint az IIS UrlRewrite modulja. Persze ezzel is sikerült olyan problémába belefutni, ami csak az éles környezetbe történő telepítéskor jött elő, fejlesztői szerveren nem (bár az ASP.NET Routing legalább megy a fejlesztői webszerveren is, nem úgy, mint az UrlRewrite, amihez legalább IIS Express kell).

A jelenség nagyon egyszerű: nem működnek a barátságos URL-ek IIS 7 vagy 7.5 alatt. Ez előjöhet ASP.NET WebForms, MVC vagy WebMatrixos alkalmazással is, ha a Routingot használja. A magyarázat is nagyon egyszerű: az IIS nem kapja el a kiterjesztés nélküli URL-ekre érkező kéréseket.

Két lehetséges megoldás van:

  1. Lehet telepíteni a KB980368-ban leírt frissítést. Ez akkor járható út, ha ismerjük a szerveren futó összes alkalmazást és van jogunk frissítést telepíteni.
  2. Ha csak a saját alkalmazásunkat szeretnénk működésre bírni, akkor az is elég, ha ezt beírjuk a saját web.config fájlunkba:
    <system.webServer>
      <modules runAllManagedModulesForAllRequests="true"/>
    </system.webServer>
Advertisements

One thought on “ASP.NET Routing IIS 7-en

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