Saya memiliki beberapa kode dasar untuk menentukan kesalahan dalam aplikasi MVC saya. Saat ini di proyek saya saya memiliki kontroler yang disebut Errordengan metode tindakan HTTPError404(), HTTPError500()dan General(). Mereka semua menerima parameter string error. Menggunakan atau memodifikasi kode di bawah ini. Apa cara terbaik / tepat untuk meneruskan data ke Pengontrol kesalahan untuk diproses? Saya ingin mendapatkan solusi yang sekuat mungkin.
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
RouteData routeData = new RouteData();
routeData.Values.Add("controller", "Error");
switch (httpException.GetHttpCode())
{
case 404:
// page not found
routeData.Values.Add("action", "HttpError404");
break;
case 500:
// server error
routeData.Values.Add("action", "HttpError500");
break;
default:
routeData.Values.Add("action", "General");
break;
}
routeData.Values.Add("error", exception);
// clear error on server
Server.ClearError();
// at this point how to properly pass route data to error controller?
}
}