asp.net-mvc
Http त्रुटि से निपटने
खोज…
परिचय
हर वेबसाइट को त्रुटियों को संभालने की आवश्यकता होती है। आप अपने उपयोगकर्ताओं को स्टॉक 404 या 500 त्रुटि पृष्ठ देखने दे सकते हैं जो IIS का उपयोग करता है या, Web.Config और एक साधारण नियंत्रक का उपयोग करके आप इन त्रुटियों को पकड़ सकते हैं और अपने स्वयं के कस्टम त्रुटि पृष्ठों को वितरित कर सकते हैं।
बुनियादी ढांचा
यह उदाहरण 404 पेज नॉट फाउंड और 500 सर्वर एरर के लिए एक कस्टम एरर पेज बनाने को कवर करेगा। आप किसी भी त्रुटि कोड को कैप्चर करने के लिए इस कोड को बढ़ा सकते हैं।
Web.Config
यदि आप IIS7 और इसके बाद के संस्करण का उपयोग कर रहे हैं, तो <CustomError..
नोड को अनदेखा करें और इसके बजाय <httpErrors...
उपयोग करें।
system.webServer
नोड में निम्नलिखित में जोड़ें:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="404" path="/error/notfound" responseMode="ExecuteURL" />
<error statusCode="500" path="/error/servererror" responseMode="ExecuteURL" />
</httpErrors>
यह किसी भी 404 त्रुटियों को ~/error/notfound
और किसी भी 500 त्रुटि को ~/error/servererror
को निर्देशित करने के लिए साइट को बताता है। यह आपके अनुरोधित URL को भी संरक्षित करेगा ( पुनर्निर्देशित करने के बजाय स्थानांतरण पर विचार करें) ताकि उपयोगकर्ता को कभी भी ~/error/...
पृष्ठ URL दिखाई न दे।
अगला, आपको एक नई Error
नियंत्रक की आवश्यकता है ...
public class ErrorController : Controller
{
public ActionResult servererror()
{
Response.TrySkipIisCustomErrors = true;
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return View();
}
public ActionResult notfound()
{
Response.TrySkipIisCustomErrors = true;
Response.StatusCode = (int)HttpStatusCode.NotFound;
return View();
}
}
यहाँ ध्यान देने योग्य मुख्य बात है Response.TrySkipIisCustomErrors = true;
। यह IIS को बायपास करेगा और आपके त्रुटि पृष्ठ को इसके माध्यम से बाध्य करेगा।
अंत में, इसी NotFound
और ServerError
Views NotFound
और उन्हें स्टाइल करें, ताकि यह आपकी साइट के डिज़ाइन के साथ अच्छा और सहज हो।
हे presto - कस्टम त्रुटि पृष्ठ।