0

IIS7統合モード、特にASP.NET MVCおよび.NET4では、すべてのモジュールがすべての要求に対して実行されます。runAllManagedModulesForAllRequests="true"。runAllManagedModulesForAllRequests = "false"を作成すると、混乱するまで、頭がおかしくなり、これに関する問題が多すぎます。

簡単にするために、静的ファイルを含むすべてのリクエストをモジュールに受け入れさせますが、BeginRequestのようなモジュールでは、静的ファイルでない場合にのみ処理します。モジュールでこの状態をフィルタリングまたはチェックするにはどうすればよいですか?

4

1 に答える 1

5

これはあなたの質問に正確に答えるものではありませんが、他の誰も答えていないので、私はおそらく解決策の一部になる可能性があるものを持っています。

モジュールを2つに分割する場合(1つはマネージドハンドラーリクエスト用、もう1つはその他すべて用)、「マネージドハンドラーリクエスト」モジュールを追加するweb.configで、属性preCondition="managedHandler"を追加できます。したがって、次のようになります。

    <system.webServer>
      <modules>
        <add name="DynamicRequestModule" type="..." preCondition="managedHandler" />
        <add name="StaticRequestModule" type="..." />

この構成では、「DynamicRequestModule」モジュールは、要求がマネージドハンドラーを持つリソースに対するものである場合にのみ実行されます。

于 2011-08-10T20:54:06.340 に答える