Test.htmというスタートアップページがあるサイトがあります。サイトが一時的にダウンしているため、サイトの読み込み時にエラーページを表示したいと思います。error.htmというページがあります。これはどのように可能ですか?
前もって感謝します!
ASP.NET には、発生したエラーをトラップして対応できる 3 つの主要なメソッドが用意されています。Page_Error、Application_Error、およびアプリケーション構成ファイル (Web.config) です。
1.Page_Error イベント ハンドラは、ページ レベルで発生したエラーをトラップする方法を提供します 2.Application_Error イベント ハンドラ を使用して、アプリケーションで発生したエラーをトラップでき ます 3.Server.ClearError を呼び出さないか、エラーをPage_Error または Application_Error イベント ハンドラーの場合、エラーは Web.config ファイルのセクションの設定に基づいて処理されます。の中にセクションでは、リダイレクト ページをデフォルトのエラー ページ (defaultRedirect) として指定するか、発生した HTTP エラー コードに基づいて特定のページに指定できます。
たとえば、Global.asax ページのcustomErrorsセクションに次のコードを追加して、ユーザーをカスタム ページにリダイレクトする必要があります。
<customErrors defaultRedirect="http://hostName/applicationName/errorStatus.htm" mode="On">
</customErrors>
考えただけですが、response.redirectを見ましたか?
app_offline.htmページを使用できます。asp.net がこのページをルートで見つけた場合、何を要求してもこのページが表示され、サイトはダウンしています。
2 番目の方法は、サイトをダウンさせないことです。Application Begin Request で、次のように好きなページにリダイレクトします。
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
// just double check in case that htm proceed from asp.net
if(!cTheFile.EndsWith("test.htm"))
{
System.Web.HttpContext.Current.Response.Redirect("test.htm", true);
return;
}
}
web.config をハックして、アプリケーションが要求されたときに強制的に 404 を返すようにすることができます。次に、404 エラー ページをオーバーライドして、「エラー」ページにします。
<httpRuntime enable="false" />
<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/error.htm" />
</customErrors>