OK、これは少し混乱して複雑に聞こえるかもしれませんが、ご容赦ください。
わかりやすい URL を定義できるフレームワークを作成しました。任意の URL にアクセスすると、IIS は 404 エラー (場合によっては 403;14 または 405) を表示しようとします。ただし、IIS は、これらの特定のエラーに向けられたものはすべて .aspx ファイルに送信されるように設定されています。これにより、HttpHandler を実装してリクエストを処理し、関連付けられたテンプレートを見つけて、それに関連付けられているものを実行する必要があります。
現在、これはすべて IIS 5 および 6 で機能し、IIS7 でもある程度機能しますが、フォームを投稿するときに発生する問題が 1 つあります。
フォームを存在しない URL に投稿すると、IIS は「ああ、でもその URL は存在しません」と言い、405「メソッドは許可されていません」というエラーをスローします。これらのエラーを .aspx ページにリダイレクトして HttpHandler で処理するように IIS に指示しているため、通常、これは問題になりません。しかし、IIS7 の時点で、405 にリダイレクトされた後、すべての POST 情報が失われました。そのため、フォームに関連する最も些細なことを行うことができなくなりました。
これを解決するために、HttpModule を使用してみました。これは、POST データを保持しますが、適切なタイミングで (必要なときに) 初期化されたセッションを持っていないように見えます。また、404/403;14/405 にヒットする欠落したリクエストだけでなく、すべてのリクエストに対して HttpModule を使用してみましたが、これは画像、css、js などのようなものが .NET コードによって処理されていることを意味し、これは非常に非効率的です。
これは実際の質問につながります.誰かがこれに遭遇したことがありますか?また、何かアドバイスをしたり、物事を再び機能させるために何をすべきかを知っていますか? これまでのところ、誰かが Microsoft 独自のURL Rewriting モジュールの使用を提案しています。これは私たちの問題を解決するのに役立ちますか?
ありがとう。