[英]asp.net mvc error handling
我是一個新手.net mvc開發人員,我想知道,是否有必要開發自己的錯誤處理程序而不使用著名的try / catch語句。 我正在使用XML文件在視圖中呈現組件,例如,我想獲取一條錯誤消息,該消息對於我知道我違反了基於xml文件的約束非常有用
(例如,如果我添加另一個沒有>'type'屬性的標簽,則可以在運行時為我生成一條消息)。 我希望我先表示清楚,
在Global.asax可以捕獲異常的情況下,global.asax在您的應用程序中有許多事件處理程序,例如Application_start或您需要Application_Error
void Application_Error(){
Exception exception = Server.GetLastError();
//do what you need with the exception...
}
實際上,我更喜歡使用ActionFilter類重寫OnActionExecuting,OnActionExecuted,OnResultExecuting和OnResultExecuted方法。 而且我認為無法從C Sharp完成xml屬性的控制,那么我將使用if條件。 不管怎么說,還是要謝謝你
我認為處理異常的最佳位置是global.asax.cs。
protected void Application_Error(object sender, System.EventArgs e)
{
// custom logger
IErrorLogger errorLogger = new CustomLogger();
// config of error handler
MvcExceptionHandlerConfig config = new MvcExceptionHandlerConfig("Error", "Error", 404, 500);
// init and handle
new MvcExceptionHandler.MvcExceptionHandler(this, errorLogger, config).Handle();
}
演示可在這里找到: https : //github.com/mholec/mvcexceptionhandler
當然,這取決於您要處理哪種異常。 Application_Error是處理錯誤400、404、5xx等的好地方,另一方面,它不適用於身份驗證錯誤(您需要創建特殊的過濾器)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.