में प्रोग्रामेटिक रूप से 401 त्रुटि उत्पन्न करने के लिए कैसे करें क्योंकि आप यह देख सकते हैं कि यह एक गैर वेब डेवलपर से एक प्रश्न है। मैं एक एएसपीएक्स पेज चाहता हूं जो कुछ परिस्थितियों में कोड से 401 त्रुटि उत्पन्न कर सकता है। आदर्श रूप में यह आईआईएस मानक पृष्ठ दिखाएगा।ASP.NET पृष्ठ
उत्तर
Response.StatusCode सेट करें और फिर - यदि आपको निष्पादन को रोकने की आवश्यकता है - Response.End() पर कॉल करें।
MSDN के अनुसार, आप बस निम्न का उपयोग करने में सक्षम होना चाहिए।
Throw New HttpException(401, "Auth Failed")
संपादित अन्य स्थिति कोड की स्थापना की प्रतिक्रियाएं देखने के बाद और अधिक उपयुक्त होगा।
Response.StatusCode = 401;
Response.End();
मुझे नहीं पता कि यह क्यों मतदान किया गया है - यह मेरे कोड (वोट किए गए) उत्तर के समान ही है, बस कोड फॉर्म में। निश्चित रूप से, इसमें लिंक नहीं हैं जो * उपयोगी हो सकते हैं, लेकिन यह अभी भी एक बिल्कुल अच्छा जवाब है ... –
मैं पूरी तरह से जॉन से सहमत हूं। चूंकि मैं दो उत्तरों को स्वीकार नहीं कर सकता, इसलिए मैंने जॉन के जवाब को स्वीकार कर लिया और इसे वोट दिया। कुछ चीजें हैं जो मुझे खुद से समझनी चाहिए, लेकिन यह मुझे एक प्रमुख शुरुआत दे दी। धन्यवाद! –
शायद इसे वोट दिया गया था क्योंकि इसे @ जोन के ठीक बाद सबमिट किया गया था, इसलिए यह एक पिग्गी-बैक उत्तर जैसा दिखता था (हालांकि वे दोनों एक साथ लिखे गए थे)। हालांकि उपरोक्त के लिए धन्यवाद:) –
मुझे लगता है कि मैं अभी भी पसंद करते हैं:
throw new HttpException(401, "Auth Failed")
मुझे नहीं लगता कि Response.StatusCode
विधि web.config फ़ाइल में परिभाषित कस्टम त्रुटियों, उदा से चलाता है
<customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
<error statusCode="401" redirect="AuthFailed.htm" />
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
एक नया अपवाद फेंकने से निश्चित रूप से कस्टम त्रुटियां ट्रिगर होती हैं।
इसके अलावा, आप ELMAH या कुछ जैसे अनुप्रयोग-व्यापी त्रुटि लॉगिंग सुविधा का उपयोग कर रहे हैं, और मुझे नहीं लगता कि Response.StatusCode
विधि वहां लॉग भी होगी।
नोट: अब मुझे सवाल है कि, आदर्श आदर्श आईआईएस त्रुटि पृष्ठ दिखाया जाना चाहिए। जाहिर है, कस्टम त्रुटि पेज नहीं चाहते थे। मैं उस मामले में Response.StatusCode
विधि का उपयोग करूंगा।
अरे यह कमाल है! बस मुझे क्या पता होना चाहिए! –
एक अतिरिक्त टिप्पणी।
यदि पृष्ठ का एक हिस्सा आउटपुट बफर में पहले ही लिखा जा चुका है तो यह महत्वपूर्ण है कि आप किसी भी buffered सामग्री को साफ़ करें या पृष्ठ सही ढंग से दिखाई नहीं दे रहा है।
यह एक टेम्पलेट वातावरण में काफी संभावना है। जैसे मास्टर पृष्ठों ...
Response.ClearContent();
Response.StatusCode = 401;
Response.End();
- 1. प्रदर्शन एक ASP.NET पृष्ठ
- 2. ASP.net पृष्ठ में सशर्त तर्क
- 3. Asp.Net System.Web.Routing वास्तविक .aspx पृष्ठ
- 4. ASP.NET MVC 3 लैंडिंग पृष्ठ
- 5. ओवरराइड ASP.NET एक ही पृष्ठ
- 6. ASP.NET MVC: त्रुटि पृष्ठ में अजीब वर्ण
- 7. एक पृष्ठ एकाधिक मास्टर पेजेस? (ASP.NET)
- 8. Asp.net पृष्ठ जीवन चक्र-विशिष्ट वैश्विक चर?
- 9. asp.net MVC के क्षेत्र डिफ़ॉल्ट पृष्ठ
- 10. ASP.NET स्टार्टअप पृष्ठ को रीसेट कैसे करें?
- 11. पृष्ठ लोड() या पृष्ठ init()
- 12. asp.net
- 13. ASP.Net
- 14. Asp.NET
- 15. ASP.NET
- 16. asp.net
- 17. ASP.NET
- 18. ASP.NET
- 19. ASP.NET
- 20. पृष्ठ
- 21. Asp.net
- 22. ASP.NET
- 23. ASP.NET
- 24. Asp.net
- 25. ASP.NET
- 26. ASP.NET पृष्ठ स्तरीय कैशिंग (प्रमाणीकृत साइटों के साथ)
- 27. Asp.Net Mvc वर्तमान पृष्ठ लिंक तकनीक को हाइलाइट करते हुए?
- 28. System.Web.HttpException फ़ाइल मौजूद नहीं है - पृष्ठ लोड ठीक (ASP.NET)
- 29. अज्ञात उपयोगकर्ताओं के लिए कैश ASP.NET पृष्ठ केवल
- 30. गतिशील रूप से ASP.NET पृष्ठ पर HTML जोड़ें
मैं इस कोशिश की और जब मैं ब्राउज़र में http प्रतिक्रिया की जाँच की, मैं एक 500 (आंतरिक सर्वर त्रुटि) मिला है एक 401 (अनधिकृत) – dreamerkumar
इसके अलावा, फेंक नहीं है अपवाद के बजाय बदतर प्रदर्शन के मामले में? – dreamerkumar
मुझे वास्तव में परवाह नहीं है कि क्या पसंद किया जाता है। यह विधि याद रखने के लिए छोटा और आसान है इसलिए मैं इसका उपयोग करता हूं। – Brad