Http 404 خطأ في معالج Asp.Net MVC (RC 5)
-
01-07-2019 - |
سؤال
كيف يمكنني معالج أخطاء 404 دون إطار رمي استثناء 500 رمز خطأ ؟
المحلول
http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx يعطي التفسير التالي:
إضافة البدل التوجيه القاعدة النهائية القاعدة:
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "Http404" });
أي طلب لا يطابق قاعدة أخرى يحصل توجيهها إلى Http404 العمل من الخطأ تحكم ، والتي تحتاج أيضا إلى تكوين:
public ActionResult Http404(string url) {
Response.StatusCode = 404;
ViewData["url"] = url;
return View();
}
نصائح أخرى
يمكنك أيضا تجاوز HandleUnknownAction داخل جهاز تحكم في الحالات التي يكون فيها الطلب لا تتطابق مع جهاز تحكم, ولكن لا يطابق العمل.تطبيق الافتراضي لا رفع الخطأ 404.
رمي الجديد HttpException(404, "الموارد"لم يتم العثور على);
مع MVC 3 يمكنك العودة HttpNotFound() صحيح 404.
مثل هذا:
public ActionResult Download(string fontName)
{
FontCache.InitalizeFonts();
fontName = HttpUtility.UrlDecode(fontName);
var font = FontCache.GetFontByName(fontName);
if (font == null)
return HttpNotFound();
return View(font);
}
لا تنتمي إلى StackOverflow