私はかなり長い間この問題を経験してきましたが、考えてみるためにここに質問を投稿することで、その問題の根底にたどり着こうと決心しました。ここにある.net 4 Webサイトに画像ハンドラーがあります。
https://www.amadeupurl.co.uk/ImageHandler.ashx?i=3604 (プライバシーのために実際のドメインは削除されています)
これで問題なく動作し、Web サーバーから問題なく画像を提供します。URL にアクセスすると問題なく動作し、画像が読み込まれ、例外が生成されないため、問題はありません。しかし、誰かが昨日この正確な URL にアクセスしたため、次の行に沿って例外が発生しました。
Exception Generated
Error Message:
A potentially dangerous Request.Path value was detected from the client (?).
Stack Trace:
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig() at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Technical Information:
DATE/TIME: 23/01/2013 03:50:01
PAGE: www.amadeupurl.co.uk/ImageHandler.ashx?i=3604
エラーメッセージは理解していますが、それは問題ではありません。なぜここで生成されるのか理解できません。さらに悪いことに、画像が読み込まれるリンクをクリックすると言ったように、複製できません。例外はありません。私は URL ルーティングを使用しており、次のコードで問題が発生した場合に備えて、ハンドラーを無視するように登録しました。
routes.Ignore("{resource}.ashx")
他にエラーが発生する理由や、他に何を試すべきかわかりません。