0
-2
مدیریت صفحات خطاهای برنامه نویسی در Asp.Net MVC
مدیریت صفحات خطاهای برنامه نویسی در Asp.Net MVC
در این پست به بررسی مدیریت صفحات خطاهای موجود در یک وب سایت خواهیم پرداخت. در بسیاری از مواقع بعد از پایان برنامه نویسی یک وب سایت، احتمال اینکه خطاهای در برنامه نویسی وجود داشته باشد، باید این خطا ها کنترل کرد و متناسب با خطاها پیغام های مناسبی را نمایش داد.
لیست خطا ها
- خطای 400 : علت bad request این خطا زمانی اتفاق می افتد که کاربری درخواستی داده که حتما این درخواست با خطا مواجع خواهد شد
- خطای 401 : علت unauthorized این خطا زمانی اتفاق می افتد که دسترسی غیر مجاز اتفاق بیفتد
- خطای 403 : علت forbidden این خطا زمانی اتفاق می افتد که کاربری درخواست مشاهده صفحه ای که مجوز آن را ندارد داده است
- خطای 404 : علت not found این خطا زمانی اتفاق می افتد که کاربری درخواست مشاهده صفحه ای را کرده که صفحه فوق وجود ندارد
- خطای 405 : علت method not allowed این خطا زمانی اتفاق می افتد که کاربری درخواست روش غیر مجاز را داده است
- خطای 406 : علت not acceptable این خطا زمانی اتفاق می افتد که درخواست ارسالی توسط کاربر غیر قابل قبول است
- خطای 407 : علت proxy authentication required این خطا زمانی اتفاق درخواست کاربر نیاز احراز هویت پروکسی دارد
- خطای 412 : علت precondition failed این خطا زمانی اتفاق می افتد که کاربری درخواست داد که شرایط اجرای این درخواست برآورده نشده است.
- خطای 414 : علت request uri too long این خطا زمانی اتفاق می افتد که URL درخواست خیلی طولانی است ( بیش از 254 کاراکتر)
- خطای 415 : علت unsupported media type این خطا زمانی اتفاق می افتد که کاربری درخواست مشاهده فایلی را داده که سایت امکان تشخیص فرمت آن را ندارد.
- خطای 500 : علت internal server error این خطا زمانی اتفاق می افتد که کاربری دخواست یک عملی را از سیستم داده که با خطا روبرو شده معمولا این خطا از برنامه نویسی سمت سرور می باشد.
- خطای 501 : علت not implemented این خطا زمانی اتفاق می افتد که درخواست کاربر اجرا نشده است
- خطای 502 : علت bad gateway این خطا به ندرت در برنامه نویسی اتفاق می افتد
- خطای 503 : علت maintenance این خطا زمانی اتفاق می افتد که سایت درحال بروز رسانی می باشد
مشخص کردن صفحات مورد نیاز برای خطا ها
برای این کار ابتدا صفحات بالا را ایجاد کنید و سپس در وب کانفیگ کدهای زیر را اضافه کنید.
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <httpErrors> <remove statusCode="502" subStatusCode="-1" /> <remove statusCode="501" subStatusCode="-1" /> <remove statusCode="500" subStatusCode="-1" /> <remove statusCode="412" subStatusCode="-1" /> <remove statusCode="406" subStatusCode="-1" /> <remove statusCode="405" subStatusCode="-1" /> <remove statusCode="404" subStatusCode="-1" /> <remove statusCode="403" subStatusCode="-1" /> <remove statusCode="401" subStatusCode="-1" /> <remove statusCode="400" /> <error statusCode="400" path="http://yourDomain.com/Errors/bad-request" /> <remove statusCode="407" /> <error statusCode="407" path="http://yourDomain.com/Errors/proxy-authentication-required" /> <remove statusCode="414" /> <error statusCode="414" path="http://yourDomain.com/Errors/request-uri-too-long " /> <remove statusCode="415" /> <error statusCode="415" path="http://yourDomain.com/Errors/unsupported-media-type" /> <remove statusCode="503" /> <error statusCode="503" path="http://yourDomain.com/Errors/maintenance" /> <error statusCode="401" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/unauthorized" /> <error statusCode="403" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/forbidden" /> <error statusCode="404" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/not-found" /> <error statusCode="405" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/method-not-allowed" /> <error statusCode="406" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/not-acceptable" /> <error statusCode="412" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/precondition-failed" /> <error statusCode="500" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/internal-server-error" /> <error statusCode="501" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/not-implemented" /> <error statusCode="502" prefixLanguageFilePath="" path="http://yourDomain.com/Errors/bad-gateway" /> </httpErrors> </system.webServer> </configuration>
نکته: می توان خطاهای بالا را در سه دسته تقسیم بندی کرد و فقط سه صفحه برای خطای بالا در نظر گرفت
نظر / سوال