クラシックパイプラインモードで.NET 4.0を実行しているIIS 7.5 Webサイトがあります。Application_BeginRequestはプロダクションサーバーでJPGに対して起動されません
私はイメージが呼び出された場合に単純なデフォルト画像の設定を作成しているが、物理的なファイルは、要求がApplication_BeginRequest
イベントに次のコードを使用して、デフォルトのイメージにリダイレクトされて存在しません:
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Request.PhysicalPath.EndsWith(".jpg") && File.Exists(Request.PhysicalPath) == false)
{
Context.RewritePath("~/images/nophoto.jpg");
}
}
この私のVS2010 devサーバーで正常に動作しますが、実稼働環境ではApplication_BeginRequestイベントはJPGリクエストに対して呼び出されず、標準のHTTPエラー404.0 - Not Foundエラーが表示されます。
私がtrueにweb.configファイルrunAllManagedModulesForAllRequests
オプションを設定しようとしたが、これは助けるために表示されません。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
私の理解から、これはすべての要求は、.NETを経るため、トリガーさせなければなりませんApplication_BeginRequestイベント?
望ましい結果:
私は、Application_BeginRequestイベントがJPGのみのために呼び出され、何の画像が見つからない場合、デフォルトの画像が返されるように、すべてのリクエストは、.NETを通過したいと思います。
ありがとうございました! – antfx