2013-01-01 9 views
5

私はASP.NET 4.5 MVCアプリケーションを持っています。私はRAMMFAR(runAllManagedModulesForAllRequests)を設定したくありません。これは、不必要にASP.NETパイプラインを通じて静的リソースの要求を送信するためです。ただし、拡張子にかかわらず、パス/Download/で始まるすべての要求がASP.NETルーティングパイプラインを実行するようにしたいと思います。このようにして、それらをコントローラにルーティングし、動的に生成されたリソースを提供することができます。特定のパスにのみRAMMFARを設定する

どうすればいいですか?私はIISの設定にアクセスする必要はありませんが、うまくいけば、web.configでこれを行う方法があります。

答えて

1

RAMMFARの設定は、アプリケーションごとに設定されています。サイトのさまざまな部分に異なる設定が必要な場合は、別々のIISアプリケーションを作成する必要がありますが、残念ながら、これはオプションではないことを示しています。

I 2持つ二つの側面ノートかかわら:

  1. はあなたがさえRAMMFAR必要か? IIS 7.5とそれ以降のバージョンを使用している場合は、IISとASP.NETが管理/ネイティブ要求を正しく処理できるため、ほとんど必要とは思われません。
  2. これを実際の問題として認識して、常に有効にしていますか?間違いなくRAMMFARは物事を遅くしますが、問題はそれがあなたのアプリで測定可能な効果を引き起こしているかどうかです。静的ファイルがマネージコードを通過しても、ファイルの最終処理はネイティブコードで処理されます。したがって、ASP.NET管理パイプラインを "通過"する余分な作業がありますが、これが完了したら元のIIS/Windowsコードに戻ります。
関連する問題