ホームページ  >  記事  >  ウェブフロントエンド  >  Web サイトを不一致から遠ざけるための .net 3 ステップ構成エラー ページ_html/css_WEB-ITnose

Web サイトを不一致から遠ざけるための .net 3 ステップ構成エラー ページ_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 12:02:47991ブラウズ

あなたの 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

  1. if (!IsPostBack)
  2. {
  3. HttpException erroy = new HttpException();  
  4. string strCode = erroy.ErrorCode.ToString();  
  5. 文字列 strMsg = erroy.Message;  
  6. StringBuilder sb = new StringBuilder();  
  7. sb.Append("----------记录开開始時間间:" + System.DateTime.Now+"-----------------< ;br>");  
  8. erroy.HelpLink = Request.QueryString["aspxerrorpath"];  
  9. sb.Append("ErrorCode:" + strCode + "
    ");  

  10. sb.Append("メッセージ:" + strMsg + "
    ");  
  11. sb.Append("HelpLink:" + erroy.HelpLink + "
    ");  
  12. sb.Append("ソース:" + erroy.Source + "
    ");  
  13. sb.Append("TargetSite:" + erroy.TargetSite + "
    ");  
  14. sb.Append("InnerException:" + erroy.InnerException + "
    ");  
  15. sb.Append("StackTrace:" + erroy.StackTrace + "
    ");  
  16. sb.Append("GetHtmlErrorMessage:" + erroy.GetHtmlErrorMessage() + "
    ");  
  17. sb.Append("erroy.GetHttpCode().ToString():" + erroy.GetHttpCode().ToString() + "
    ");  
  18. sb.Append("erroy.Data.ToString():" + erroy.Data.ToString() + "
    ");  
  19. sb.Append("----------记录结束-----");  
  20. Response.Write(sb.ToString());  
  21. }
  22. ここまでで、ネットワーク サイトのセキュリティ メッセージの構成が完了します。いくつかのヒント情報を表示します、你也

    また、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



    1. protected void Application_Error(Object sender, EventArgs e)
    2. {
    3. System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~/Web.config" );  
    4. System.Web.Configuration.CustomErrorsSection customErrors = (System.Web.Configuration.CustomErrorsSection)config.GetSection("system.web/customErrors");  
    5. if (customErrors != null && (customErrors.Mode == System.Web.Configuration.CustomErrorsMode.On || customErrors.Mode == System.Web.Configuration.CustomErrorsMode.RemoteOnly))
    6. {
    7. System.Web .HttpApplication app = (HttpApplication)送信者;  
    8. System.Exception lastError = app.Server.GetLastError();  
    9. System.Web.HttpException httpEx = (HttpException)lastError;  
    10. if (httpEx != null)
    11. {
    12. int httpErrorCode = httpEx.GetHttpCode();  
    13. 文字列リダイレクト= customErrors.DefaultRedirect;  
    14. foreach (CustomErrors.Errors の System.Web.Configuration.CustomError エラー)
    15. {
    16. if (error.StatusCode == httpErrorCode) リダイレクト = error.Redirect;  
    17. }
    18. app.Server.ClearError();  
    19. app.Context.Response.StatusCode = httpErrorCode;  
    20. Server.Transfer(リダイレクト);  
    21. }
    22. }
    23. }

    この問題は解決されました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。