में अनुरोध deserialization के दौरान अपवाद कैप्चर करें मैं WebAPI v2.2 का उपयोग कर रहा हूं और मुझे वेब से आईपीओआई को [FromBody] विशेषता का उपयोग करके किसी ऑब्जेक्ट पर deserialise करने के लिए मिल रहा है। deserialisation का लक्ष्य वर्ग एक आंतरिक विधि पर एक [OnDeserialized] विशेषता, इस तरह है:वेबएपीआई सी #
[OnDeserialized]
internal void OnDeserialisedMethod(StreamingContext context) {
// my method code
}
मैं एक तथ्य यह है कि इस विधि के अंदर कोड के साथ एक समस्या है के लिए पता है, मैं इसके माध्यम से कदम रखा है और मिल गया। मेरे लिए समस्या यह है कि मुझे कोई अपवाद नहीं है। क्या होता है यह विधि बाहर निकल जाती है और अपवाद को अनदेखा किया जाता है। मेरी नियंत्रक कार्रवाई को बुलाया जाता है और मेरा लक्ष्य ऑब्जेक्ट उचित रूप से पॉप्युलेट नहीं होता है क्योंकि यह क्रमबद्धता विधि सही ढंग से निष्पादित नहीं की गई है।
मेरा प्रश्न है; मैं WebAPI में deserialisation के दौरान होने वाले अपवाद को कैप्चर कैसे कर सकता हूं?
http://www.asp.net/web-api/overview/error-handling/web-api-global-error-handling –
मैंने उस वेब पेज पर सुझाए गए अनुसार किया है लेकिन यह अभी भी नहीं उठाता है अपवाद अप? अपवाद हैंडलर क्लास से प्राप्त करना और 'config.Services.Replace (टाइपऑफ (IExceptionHandler), नया अपवाद। MyExceptionHandler()) के साथ पंजीकरण करना; ' – Anupheaus
वे वास्तव में अपवाद पकड़ते हैं, लेकिन अपवाद नहीं चाहते हैं। यह अपवाद को पकड़ता है जहां मेरा लक्ष्य वर्ग उचित रूप से पॉप्युलेट नहीं होता है, फिर भी यह ऑनडिसेरियलाइज्ड विधि से कोई अपवाद नहीं देख रहा है। नियंत्रक कार्रवाई विधि में प्रवेश करने से पहले मुझे त्रुटियों को पकड़ने की आवश्यकता है और यह यहां एक मुद्दा प्रतीत होता है, उन्हें केवल अनदेखा किया जाता है। – Anupheaus