2010-12-13 5 views
15

私は新製品の1つでasp.net 4ルーティングを使用しており、開発環境(Visual studio webserver)でうまく動作します。テスト目的でリモートiisに移動したときに動作しません。私が得るのは404エラーページです。私はweb.configに以下を追加しようとしたが、まだエラーが発生している。asp.net 4ルーティングが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ファイルで、以下のコードを追加します。.. とは、モジュールで=「true」を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アプリケーションプールに設定する必要があります。

関連する問題