私は、多くの統合テストを実行するMVC2サイトを持っています。最も重要なのは、不正なURLを使用するときの動作をテストすることです。例えば:IIS7は悪い要求に対してHTTP 400を返さない
http://x.x.x.x/v1//Dy888/1/1234567815/swlocation?fv=24&sv2=3&sv3=5
( "V1" の後に2つのスラッシュに注意してください。)
を。これは、HTTP 400、不正な要求を得なければならない、と計画通り開発環境(VS2008)ですべての作品。しかし、テスト環境では、IIS7またはMVC2は、何らかの形でスラッシュが1つしかないかのように、これと応答を見ています。それはあまりにも "賢い"と思われ、要求を書き直すことによって私たちを助けます。
サーバを「スマート」にしないように設定するにはどうすればよいですか?本当に正しいエラーで応答するにはどうすればよいですか?
テストサーバーは、IIS7を搭載したWindows Server 2008です。
ありがとうございます! - 次のようにニクラス
クラウス、ご返信ありがとうございます。しかし、MVCがリクエストのパス情報にどのように依存しているのでしょうか?パスが完全であることが本当に重要ではありませんか?あなたは明確に説明することができますか?ありがとう! –
私は、mvcが余分なフォワードスラッシュを削除することでURLを消毒して、パスをそのまま残すと仮定します。 StackoverflowはMVCも使用します。この質問のURLに任意の数のスラッシュを追加すると、すべて正常に動作します。 MVCがスラッシュを削除するだけで余分なフォワードスラッシュを処理すると私は思っています。 –
はい、それはおそらく、そして今私はその消毒を無効にする方法を探しています... :-)多くのありがとう! –