در این جلسه از آموزش ASP.NET Core قصد داریم تا صفحه کنترل خطا Developer Exception Page را به شما معرفی کنیم. این صفحه کنترل خطا، داری اطلاعات مفیدی میباشد که به توسعهدهندگان کمک میکند تا بتوانند خطاهای احتمالی برنامه خود را شناسایی و رفع کنند.
Developer Exception Page چیست؟
Developer Exception Page به صفحه کنترل خطای توسعه دهندگان ASP.NET Core گفته میشود که توسط میانافزار UseDeveloperExceptionPage مدیریت میگردد. این میانافزار توسط DeveloperExceptionPageOptions قابل شخصی سازی میباشد. به طور کلی جهت امنیت و داشتن وب اپلیکیشن کاربر پسند (User Friendly) توصیه میگردد این صفحه فقط در حالت توسعه(Development) استفاده گردد.
میانافزار UseDeveloperExceptionPage
این صفحه کنترل خطا، توسط میانافزار UseDeveloperExceptionPage کنترل و سرویس دهی میگردد. این میانافزار به صورت پیشفرض در اکثر قالبهای ASP.NET Core Web App به پروژه اضافه شده است. همچنبن برای عملکرد بهتر، این میانافزار باید در صف ارسال درخواست و پاسخ (ASP.NET Core Request/Response Pipeline) (در جلسه هفتم از این دوره آموزشی با جزئیات مورد بحث قرار گرفت)در ابتدای میانافزارها معرفی گردد. ضمنا این میان افزار بهتر است تنها در حالت توسعه (Development)به نمایش درآید ، چرا که این صفحه دارای اطلاعات فنی زیادی درباره کد برنامه میباشد که در صورت استفاده در مرحله اول (Staging یا Production) ممکن است برای کاربر نهایی قابل درک نباشد و همچنین میتواند توسط هکرها برای هک اپلیکشن، مورد استفاده قرار بگیرد. قطعه کد زیر نحوه اضافه نمودن این میانافزار را به صورت استاندارد نمایش میدهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } //The rest of the middleware } |
پس توجه داشته باشید که در زمان توسعه اپلیکشن، جهت کنترل بهتر خطاها بهتر است که متغییر محیطی ASPNETCORE_ENVIRONMENT که در جلسه ششم مورد بحث قرار گرفت، بروی Development قرار گرفته باشد. در غیر اینصورت ممکن است در صورت بروز خطا یک صفحه ی خطا، فاقد اطلاعات مفید جهت رفع نقص ظاهر گردد.
شخصسازی میانافزار Developer Exception Page
مانند اکثر میانافزارهای دیگر، شخصی سازی این میانافزار نیز توسط Options فایل آن صورت میگیرد. پس به این منظور ما میتوانیم یک DeveloperExceptionPageOptions ایجاد نماییم و تنظیمات دلخواه خود را در آن اعمال نموده و به میانافزار ارسال کنیم. البته این کار را به صورت مستقیم در خود میانافزار هم میتوان انجام داد که در قطعه کد های زیر هر دو روش را میتوانید مشاهده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(new DeveloperExceptionPageOptions { SourceCodeLineCount=10 }); } OR DeveloperExceptionPageOptions options = new DeveloperExceptionPageOptions(); options.SourceCodeLineCount = 10; app.UseDeveloperExceptionPage(options); |
تغییر فوق به شما این انتخاب را میدهد تا مقدار دلخواهی از تعداد خط کد برنامه، قبل و بعد از خط دارای خطا را مشاهده کنید. در این مثال ما تنظیم نمودیم تا 10 خط بعد و قبل از خط دارای خطا ر ا مشاهده کنیم.
در صورت نیاز به جزئیات بیشتر، میتوانید ویدئو آموزشی این جلسه را تماشا نمایید. همچنین برای آگاهی از جلسات بعدی این دوره آموزشی، ما را در اینستاگرام، تلگرام، یوتیوب و آپارات دنبال کنید و لیست کامل جلسات در این قسمت در دسترس شما میباشد.
دانلود اسلایدهای آموزشی این جلسه از اینجا