MVCサイトでファイルをアップロードするとき、maxRequestLengthを上回るユーザーが一般的なカスタムエラーページを表示するよりも正常にアップロードを処理するようにしています。投稿しようとしているのと同じページを表示するのが好きですが、ファイルが大きすぎるというメッセージが表示されます。これは、検証エラーの場合と同様です。ASP.NET MVC:maxRequestLengthを超えるアップロードの処理
がCatching "Maximum request length exceeded"
は、しかし、私がやりたいこと(彼らはその質問にそうであるように)代わりにエラーページに転送され、私がしたい:
私はこの質問からアイデアを始めています元のコントローラーに処理を渡しますが、問題を示すModelStateにエラーが追加されています。ここで私は何をしたいのかを示すコメントを含むコードをいくつか紹介します。 IsMaxRequestExceededEexceptionの定義については上記の質問を参照してください。これは少しハックですが、それほど良くはありません。
私がコメントアウトしましたラインは、右ページにユーザーを返しますが、当然のことながら、彼らは、彼らが作ったかもしれないと私はここにリダイレクトを使用したくない変更...
if (IsMaxRequestExceededException(Server.GetLastError()))
{
Server.ClearError();
//((HttpApplication) sender).Context.Response.Redirect(Request.Url.LocalPath + "?maxLengthExceeded=true");
// TODO: Replace above line - instead tranfer processing to appropriate controlller with context intact, etc
// but with an extra error added to ModelState.
}
を失います完全な解決策ではなくアイデアを探してください。私がしようとしていることは可能ですか?