答えは「あなたにはできない」だと確信していますが、もしそうなら、ASP.NET MVC には恐ろしい欠陥があります。
静的ファイルを提供する必要がある ActionResult があります (ファイル名はコードで決定されます)。パフォーマンス上の理由から (そして、受け入れバイトとキャッシュ ヘッダーの HTTP 仕様を再実装する気がしないため)、要求を IIS に渡したいと思います。HttpModule の context.RewritePath() が静的ファイルの名前を指定した場合と同様です。
ただし、これは PostAuthorizeRequest ではなく、ActionResult 内で発生する必要があります。
FileStreamResult クラスと FilePathResult クラスを見ると、それらが HTTP 200 のみを実装していることは明らかです。 .
IIS がファイルを提供する上でどれほど優れているか、統合パイプラインがどれほど重要であるか、IIS6 でのワイルドカード マッピングがパフォーマンスにとっていかに悪かったかなど、ほぼ解読されていると言われました。
今は同じ船に戻っています。IIS に ActionResult から静的ファイルを提供させる方法はありません。(いいえ、TransmitFile はカウントされません)。
MSが静的コンテンツを別のサーバーに置くことを推奨しているのを見始めました。
私が間違っていることを教えてください。これを行う魔法の方法がどこかにあるのです。それとも、MVC によって Integrated Pipe Dream が殺されましたか?