मेरे MVC एप्लिकेशन में त्रुटियों को निर्धारित करने के लिए मेरे पास कुछ बुनियादी कोड हैं। वर्तमान में अपने प्रोजेक्ट में मैं एक नियंत्रक कहा जाता है Error
कार्रवाई के तरीकों के साथ HTTPError404()
, HTTPError500()
, और General()
। वे सभी एक स्ट्रिंग पैरामीटर स्वीकार करते हैं error
। नीचे दिए गए कोड का उपयोग करना या संशोधित करना। प्रसंस्करण के लिए त्रुटि नियंत्रक के लिए डेटा पास करने का सबसे अच्छा / उचित तरीका क्या है? मैं चाहूंगा कि इसका समाधान यथासंभव मजबूत हो।
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?
}
}