あなたの Web サイトに理解できないエラー レポートが大量にある場合、あなたは資格のあるプログラマーまたは資格のある Web マスターではありません。
以下の側面は、Web サイトが混乱を招くページを避けるのに役立ちます。
ステップ 1: web.config を構成します
web.config を開き、
ノードの下に次のコードを追加します:
: エラー ページを作成します
Web サイトのルート ディレクトリに 404 ページ (ページが見つかりません) を作成します: 404.html
403 ページ (アクセスサーバーによって禁止されています): 403.html
これで問題の一部は解決できますが、一部のバグをプログラムすると、ユーザーが偶然発見した場合、依然としてユーザーに不親切なエラー ページが返されます。したがって、不明なエラー ページをキャプチャし、それらのエラー レポートを処理し、適切なページをユーザーに表示するために、ErrorPages.aspx を作成する必要もあります。
ステップ 3: 不明なエラーをキャプチャし、わかりやすいプロンプトを表示します。
次のコードを ErrorPages.aspx.cs に追加します:
[c-sharp]
view plain copy
- if (!IsPostBack)
- {
- HttpException erroy = new HttpException();
- string strCode = erroy.ErrorCode.ToString();
- 文字列 strMsg = erroy.Message;
- StringBuilder sb = new StringBuilder();
-
- sb.Append("----------记录开開始時間间:" + System.DateTime.Now+"-----------------< ;br>");
- erroy.HelpLink = Request.QueryString["aspxerrorpath"];
- sb.Append("ErrorCode:" + strCode + "
");
- sb.Append("メッセージ:" + strMsg + "
"); - sb.Append("HelpLink:" + erroy.HelpLink + "
"); - sb.Append("ソース:" + erroy.Source + "
"); - sb.Append("TargetSite:" + erroy.TargetSite + "
"); - sb.Append("InnerException:" + erroy.InnerException + "
"); - sb.Append("StackTrace:" + erroy.StackTrace + "
"); - sb.Append("GetHtmlErrorMessage:" + erroy.GetHtmlErrorMessage() + "
"); - sb.Append("erroy.GetHttpCode().ToString():" + erroy.GetHttpCode().ToString() + "
"); - sb.Append("erroy.Data.ToString():" + erroy.Data.ToString() + "
"); - sb.Append("----------记录结束-----");
-
- Response.Write(sb.ToString());
- }
ここまでで、ネットワーク サイトのセキュリティ メッセージの構成が完了します。いくつかのヒント情報を表示します、你也
また、Global.asax の void Application_Error(object sender, EventArgs e) メソッドで定義されるメソッドもあります。一般的なメソッドで実行されますが、具体的な操作は次のとおりです。
Global.asax ファイル内の変更:
boid application_error(object sender、eventargs e) + "&lt;/br&gt;"; "ソース:" + erroy.Source + "< /br>"; err += "StackTrace:" + erroy.StackTrace + "" エラー。したがって、 Application["ProError"] を使用してください
Application["erroy"] = err;
use using ‘’’ ' ‐ ‐ ‐ ‐ ‐ ‐使用する Current.Response.Redirect(HttpContext.Current. request.applicationPath + "/errorpages.aspx");
}
aspages.aspx.csファイルで変更する
保護されたvoid page_load(object sender、eventargs e) "].Tostring()); 302. これは検索エンジンの最適化に非常に悪影響を及ぼします。したがって、次のコードを Global.asax ファイルに追加する必要があります:
[c-sharp]
view plain copy
- protected void Application_Error(Object sender, EventArgs e)
- {
- System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/Web.config" );
- System.Web.Configuration.CustomErrorsSection customErrors = (System.Web.Configuration.CustomErrorsSection)config.GetSection("system.web/customErrors");
- if (customErrors != null && (customErrors.Mode == System.Web.Configuration.CustomErrorsMode.On || customErrors.Mode == System.Web.Configuration.CustomErrorsMode.RemoteOnly))
- {
- System.Web .HttpApplication app = (HttpApplication)送信者;
- System.Exception lastError = app.Server.GetLastError();
- System.Web.HttpException httpEx = (HttpException)lastError;
- if (httpEx != null)
- {
- int httpErrorCode = httpEx.GetHttpCode();
- 文字列リダイレクト= customErrors.DefaultRedirect;
- foreach (CustomErrors.Errors の System.Web.Configuration.CustomError エラー)
- {
- if (error.StatusCode == httpErrorCode) リダイレクト = error.Redirect;
- }
- app.Server.ClearError();
- app.Context.Response.StatusCode = httpErrorCode;
- Server.Transfer(リダイレクト);
- }
- }
- }
この問題は解決されました。