Маршрутизация asp.net 4 не работает в iis 7

Я использую маршрутизацию asp.net 4 в одном из наших новых продуктов и отлично работает в среде разработки (веб-сервер Visual studio). но когда я переместил его на удаленный iis для целей тестирования, он не работает. все, что я получаю, это страница ошибки 404. Я попытался добавить следующее в файл web.config и все еще получить ошибку.

<system.webServer>
     <modules runAllManagedModulesForAllRequests="true">    
     <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </modules> 
 <validation validateIntegratedModeConfiguration="false" />
</system.webServer>

какие-нибудь идеи, как сортировать эту проблему?

Ответы

Ответ 1

У меня есть решение для этого... добавьте приведенный ниже код в ur web.config..  и не забудьте добавить runAllManagedModulesForAllRequests = "true" в ваш модуль.

   <system.webServer> 
        <modules runAllManagedModulesForAllRequests="true"> 
          <remove name="UrlRoutingModule"/> 
          <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
        </modules> 
        <handlers> 
          <add 
            name="UrlRoutingHandler" 
            preCondition="integratedMode" 
            verb="*" path="UrlRouting.axd" 
            type="System.Web.HttpForbiddenHandler, System.Web,  
              Version=2.0.0.0, Culture=neutral,  
              PublicKeyToken=b03f5f7f11d50a3a"/> 
        </handlers> 
      </system.webServer>

Ответ 2

Примечание. Вы должны установить пул приложений в пул приложений Asp.net 4.0, поскольку маршрутизация не работает с пулом приложений Asp.net 4.0 Classic.