2010-12-13 3 views
15

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

<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> 

любые идеи, как сортировать эту проблему ?.

+0

Если вы включили мониторинг работоспособности для входа в журнал событий (который, по моему мнению, по умолчанию, вам просто нужно включить его), это улавливает некоторые из этих внутренних ошибок в инфраструктуре, и оно может найти что-то для вас. –

+0

спасибо, но не помогло – Aneef

ответ

35

я получил решение для этого ... добавить следующий код в Уре web.config .. и не забудьте добавить runAllManagedModulesForAllRequests = «истинный» в модуле ..

<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> 
+3

Я не уверен, что весь этот код необходим, для моего веб-приложения ASP.Net 4.0 требуется только runAllManagedModulesForAllRequests = «true», добавив к , чтобы он работал - другие изменения не требовались. – Richard

+0

Спасибо. Это очень помогло. Я согласен с @ Рихардом. –

+5

'' то, что сработало для меня. Я потратил 3 часа, пытаясь понять это. –

2

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