2016-06-30 6 views
0

古いMVCアプリケーションでは、クエリ文字列パラメータを受け取り、それに基づいてリダイレクトを行うこの(プレーンなHTTPGET)コントローラアクションがあります。常に別のアクションにリダイレクトされますが、クエリ文字列が.で終わると、アクションは2回実行されます。最初は正しいパラメータで実行され、2回目は同じパラメータで実行されますが、ドットは使用されません。ユーザーは最終的に2番目(誤った)実行から結果を取得し、最初の実行からのリダイレクトは無視されます。クエリ文字列がドットで終了するとコントローラアクションが2回呼び出されます

クエリ文字列がドットで終わっていない場合はすべて正常であり、アクションは1回だけ呼び出されます。

誰もこの問題を解決する方法を知っていますか?絶望のうち

<configuration> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true" /> 

答えて

0

あなたのWeb.configファイルでこれを設定し

+0

答えはちょっとしたものだったが、問題は終わってうれしい。 – jahu

0

私はステップによって要求ステップをデバッグする意図でのGlobal.asaxに見えました。私の驚いたことに、私はApplication_PreSendRequestHeadersメソッドがリダイレクトを行ったことがわかりました。なぜ私は以前にそこに見ていないのか全く分かりません。私はこの問題に遭遇したときに尋ねたと思いますが、このリダイレクトはずっと以前私の同僚によって書かれていました。

リダイレクト(ヘッダーがつぶれていました)を行うのは確かに奇妙なことですが、副作用として2回目を呼び出していました。

+0

私はこれを私のウェブに持っていますが、問題は動作しません。もっと奇妙なのは、私は別のほぼ同じアプリケーションを実行しており、このエラーがないということです。 – jahu

関連する問題