मेरे आवेदन में कस्टम त्रुटि फेंकने पर मुझे अपने उपयोगकर्ताओं को वैश्विक रूप से रीडायरेक्ट करने की आवश्यकता है। मैंने अपनी कस्टम त्रुटि खोजने के लिए अपनी ग्लोबल.एक्सएक्स फ़ाइल में कुछ तर्क डालने का प्रयास किया है और यदि इसे फेंक दिया गया है, तो रीडायरेक्ट करें, लेकिन मेरा एप्लिकेशन मेरी ग्लोबल.एक्सएक्स विधि को कभी नहीं हिट करता है। यह मुझे एक त्रुटि दे रहा है जो कहता है कि मेरा अपवाद उपयोगकर्ता कोड द्वारा अनचाहे था।कस्टम अपवाद फेंक दिया गया है अगर कस्टम अपवाद
यहां मेरे वैश्विक में क्या है।
protected void Application_Error(object sender, EventArgs e)
{
if (HttpContext.Current != null)
{
Exception ex = HttpContext.Current.Server.GetLastError();
if (ex is MyCustomException)
{
// do stuff
}
}
}
और इस प्रकार मेरी अपवाद फेंक दिया जाता है:
if(false)
throw new MyCustomException("Test from here");
जब मैं डाल दिया है कि फाइल अपवाद फेंकने के भीतर से एक कोशिश पकड़ में, मेरे Application_Error विधि में पहुँच हो जाता है कभी नहीं। किसी के पास कुछ सुझाव हैं कि मैं इसे वैश्विक रूप से कैसे संभाला जा सकता हूं (मेरे कस्टम अपवाद से निपटें)?
धन्यवाद।
1/15/2010 संपादित करें: // डू सामान में क्या है।
RequestContext rc = new RequestContext(filterContext.HttpContext, filterContext.RouteData);
string url = RouteTable.Routes.GetVirtualPath(rc, new RouteValueDictionary(new { Controller = "Home", action = "Index" })).VirtualPath;
filterContext.HttpContext.Response.Redirect(url, true);
+1 डफ स्टफ बिट – stuartdotnet