مدیریت Custom Error در Asp.Net

در این مقاله چگونگی استفاده از custom error را شرح خواهیم داد

مدیریت Custom Error در Asp.Net

نمایش پیغام خطا در صفحات وب "در حال ساخت" _ "error 404" _ "درخواست شما با خطا مواجه گردید" و از این قبیل پیغام ها در مدیریت بهتر ما در نرم افزار تولید شده نقش بسزایی دارد .گاهی اوقات کاربران آدرس اشتباه وارد می کنند , پس برای جلوگیری از این مشکلات ما می توانیم با نمایش پیغام خطا , کاربر را در استفاده بهتر و آسانتر از نرم افزار و یا وب سایت خود یاری کنیم .به عنوان مثال زمانی که ما پیغام "آدرس وارد شده اشتباه می باشد" را به کاربر نمایش میدهیم , کاربر از ایراد خود آگاه شده و سعی در برطرف کردن این مشکل بر می آید .همچنین این امر در بحث user friendly کاربر پسند بودن نرم افزار نیز بسیار موثر است .

با استفاده از چند خط کد و چند مرحله ساده می توانیم یک صفحه مدیریت خطا ایجاد کنیم .برای این کار مطابق مراحل زیر عمل می کنیم :

ابتدا یک صفحه به پروژه اضافه میکنیم و یک تگ <P> در صفحه اضافه می کنیم :


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
    <!DOCTYPE html>  
    <html  
        xmlns="http://www.w3.org/1999/xhtml">  
        <head runat="server">  
            <title></title>  
        </head>  
        <body>  
            <form id="form1" runat="server">  
                <div>  
                    <p>  
                This is our home page.  
            </p>  
                </div>  
            </form>  
        </body>  
    </html>  

سپس یک صفحه با نام error.aspx ایجاد می کنیم :


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="error.aspx.cs" Inherits="error" %>  
    <!DOCTYPE html>  
    <html  
        xmlns="http://www.w3.org/1999/xhtml">  
        <head runat="server">  
            <title></title>  
        </head>  
        <body>  
            <form id="form1" runat="server">  
                <div>  
                    <p> sorry for interruption......</p>  
                </div>  
            </form>  
        </body>  
    </html>  

یک صفحه دیگر با نام "error404.aspx" برای نمایش پیغام 404 ایجاد میکنیم :


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="error404.aspx.cs" Inherits="error404" %>  
    <!DOCTYPE html>  
    <html  
        xmlns="http://www.w3.org/1999/xhtml">  
        <head runat="server">  
            <title></title>  
        </head>  
        <body>  
            <form id="form1" runat="server">  
                <div>  
                    <p>Lost your way. Please go to home page. </p>  
                </div>  
            </form>  
        </body>  
    </html>  

سپس وارد web.config می شویم و سپس دو تگ <system.web> و <system.webserver> را اضافه می کنیم ,

mode : در این قسمت سه حالت برای نمایش پیغام خطا وجود دارد :

ON : در این حالت پیغام خطا برای کاربر فعال میباشد .

OFF : در این حالت پیغام خطا را برای کاربر غیر فعال میکند .

RemoteOnly : در این حالت فقط برای کاربرانی نمایش داده میشود که از local host استفاده میکنند .

DefaultRedirect : این خاصیت صفحه پیش فرض برای نمایش پیغام خطا را به کاربر نمایش می دهد .

httpError errorMode : شماره پیغام خطا را مشخص میکند .مانند error 404,error 501 و غیره .

در قسمت web.config کد زیر را اضافه می کنیم :

<configuration>  
    <system.web>  
        <customErrors mode="On" defaultRedirect="error.aspx"></customErrors>  
        <compilation debug="false" targetFramework="4.5" />  
        <httpRuntime targetFramework="4.5" />  
    </system.web>  
    <system.webServer>  
        <httpErrors errorMode="Custom">  
            <remove statusCode="404" subStatusCode="-1"/>  
            <error statusCode="404" prefixLanguageFilePath="" path="error404.aspx" responseMode="Redirect"/>  
        </httpErrors>  
        <modules runAllManagedModulesForAllRequests="true"/>  
    </system.webServer>  
</configuration> 

 

فایل های ضمیمه