私はこれらのリンクをたどりました:
を超えるファイルのアップロードを処理するエラー ページを表示するmaxRequestLength
にはweb.config
しかし、私の問題は、エラー ページにリダイレクトされないことです (メッセージには、Web ページを表示できないというメッセージが表示されます)。何が欠けているのかわからない。
これが私のコード@Global.asax
です:
void Application_Error(object sender, EventArgs e)
{
if (IsMaxRequestLengthExceeded(Server.GetLastError()))
{
this.Server.ClearError();
this.Server.Transfer("~/Error.html");
}
}
private bool IsMaxRequestLengthExceeded(Exception ex)
{
Exception main;
HttpUnhandledException unhandledEx = (HttpUnhandledException)ex;
if (unhandledEx != null && unhandledEx.ErrorCode == -2147467259)
{
main = unhandledEx.InnerException;
}
else
{
main = unhandledEx;
}
HttpException httpException = (HttpException)main;
if (httpException != null && httpException.ErrorCode == -2147467259)
{
if (httpException.StackTrace.Contains("GetEntireRawContent"))
{
return true;
}
}
return false;
}
そして @ web.config
:
<httpRuntime executionTimeout="1200" />
<customErrors defaultRedirect="Error.html" mode="On">
</customErrors>
maxRequestLength
初期化されていない場合、デフォルトで 4MB に設定されていることがわかりました。(私にとっては重要ではないので設定しませんでした。)
これで私を助けてくれることを願っています。ありがとう