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

  1. Sztanya Ferenc

    És akkor elérkeztünk a Cobol-lá válás (megjegyezhetetlen szószaporítás) rögös útjára. 😀

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s