محمد مهدی زارع
محمد مهدی زارع
خواندن ۳ دقیقه·۳ سال پیش

مدیریت خطای 404 در Asp.net Core

جهت دیدن آموزش مدیریت خطای 404 در Asp.net Core وارد سایت آموزش برنامه نویسی نونویسان شوید

اگر قصد راه اندازی سایتی را دارید صفحه ارور 404 بخشی است که حتما باید به فکر آن باشید اغلب قالب ها خود صفحه ارور 404 را دارند اما اگر قالب شما این صفحه را در خود ندارد اصلا پشت گوش نندازید و با علم خودهم که شده این بخش رو ایجاد کنید در ادامه هم نحوه مدیریت خطای 404 در Asp.net Core رو بهتون میگم هم کاربرد های که چرا لازمه این صفحه در سایت شما باشه

مدیریت خطای 404 در Asp.net Core
مدیریت خطای 404 در Asp.net Core

چرا صفحه ارور 404 نیاز است؟

وقتی کاربرد وارد سایت شما میشود ممکن است به هر دلیلی آدرسی وارد کند که یا وجود ندارد یا قبلا بوده و حذف شده است پس باید به صفحه ای هدایت شود که بفهمد مشکل چیست اما جدا از این یک صفحه ارور 404 شخصی سازی شده در سایت شما در سئو تاثیر زیادی دارد اگر دقت کرده باشید در افزونه WooRank بخشی به ارور 404 شخصی سازی شده اختصاص داده شده است و از لحاظ Ul / Ux هم بسیار زیباتر است که سایت شما یک صفحه مختص این ارور داشته باشد تا کاربر متوجه خطا بشود

مدیریت خطای 404 در Asp.net Core

حالا بریم سراغ آموزش اینکه چطوری در یک وبسایت Asp.net Core چگونه یک صفحه 404 کاستوم شده ایجاد کنید در مرحله اول به قطعه کدی نیاز دارید که باید در فایل Startup.cs نوشته شود که ما براتون کد رو قرار دادیم

app.Use(async (context, next)=>
            {
                await next();     
                if (context.Response.StatusCode == 404)     
                {     
                    "context.Request.Path = "/NotFound;     
                    await next();     
                }     
            });

حالا که کار ما در Startup تمام شد نوبت ساخت ویو برای نمایش به کاربر است در اولین اقدام باید یک Controller درست کنید تا بتوانید از Route ها و ویو ها استفاده کنید

[Route("NotFound")]
public IActionResult Error404()
{
     return View();
}

در مرحله اول به این دقت کنید چون از Route استفاده میکنیم دیگه چیزی که در Startup قرار میدیم چیزیه که در Route نوشتیم مرحله بعد نوبت ساخت ویو است روی کلمه View کلیک راست و AddView رو بزنید حالا اگر قالب شما بخش کاستوم شده برای ارور 404 داره در این بخش قرار بدید اگر نه به سلیقه خود بخشی رو طراحی کنید

مدیریت خطای 404 در Asp.net Mvc

اگر سایت شما با Mvc نوشته شده بازهم کار راحتی در پیش دارید تفاوت این دو نسخه فقط در تنظیمات هست مگرنه هردو نیاز به Controller و View را دارند برای ایجاد تنظیمات وارد فایل web.config و در بخش configuration کد زیر رو قرار بدید

<system.web>
<customErrors mode="On" >
</ error statusCode="404" redirect="~/Errors/Error404">
<customErrors />
system.web />

آدرسی که در redirect قرار میگیرد صفحه 404 شما میشود حالا طبق کد بالا یک Controller با نام Errors درست میکنیم و یک Action در آن با نام Error404 قرار میدهیم دقیقا مثل کدی که در قسمت زیر آمده است

public class ErrorsController : Controller

{
public IActionResult Error404()
{
return View();
}

}

و در اینجا هم روی View کلیک راست و AddView رو میزنید شما در دو بخش هم میتوانید از Route استفاده کنید ولی ما برای شما هر دو مثال را قرار دادیم تا هر دو روش را یاد بگیرید حتما برای سایت خود صفحه ارور 404 ایجاد کنید حتی میتوانید بعد ایجاد صفحه ارور 404 در جاهایی که NotFound را فراخوانی میکنید صفحه ارور خود را فراخوانی کنید که شخصی سازی کرده اید امیدوارم مقاله براتون مفید باشه موفق باشید

محمد مهدی زارع هستم موسس و مدیر سایت آموزش برنامه نویسی نو نویسان
شاید از این پست‌ها خوشتان بیاید