2012-06-27 14 views
6

से क्लाइंट को स्वरूपित त्रुटि संदेश भेजना मैं फ़िल्टर (एक्शनफ़िल्टरएट्रिब्यूट) से क्लाइंट को त्रुटि संदेश भेजने के लिए निम्न कोड का उपयोग कर रहा हूं।कैच ब्लॉक

catch (Exception) 
{ 
    var response = context.Request.CreateResponse(httpStatusCode.Unauthorized); 
    response.Content = new StringContent("User with api key is not valid"); 
    context.Response = response; 
} 

लेकिन समस्या यह है कि यह केवल सादा पाठ में भेजता है। मैं इसे वर्तमान फॉर्मेटर के प्रारूप के रूप में भेजना चाहता था। जेसन या एक्सएमएल के रूप में पसंद है।

यहां मुझे पता है कि ऐसा इसलिए है क्योंकि मैं स्ट्रिंगकंटेंट() का उपयोग कर रहा हूं। लेकिन कस्टम त्रुटि ऑब्जेक्ट का उपयोग करके हम कैसे लिख सकते हैं? की तरह है, तो निम्न कार्य नहीं कर रहा है या तो:

response.Content = new Error({Message = "User with api key is not valid"}); 

हम इस के लिए कोड लिख सकता हूं? अग्रिम में धन्यवाद।

उत्तर

8

हां, मुझे लेखन का सही वाक्यविन्यास मिला। हम लिख सकते हैं:

catch (Exception) 
{ 
    var response = context.Request.CreateResponse(HttpStatusCode.NotFound, 
         new Error { Message = "User with api key is not valid"}); 
    context.Response = response; 
} 
+0

एमवीसी 3 में यह कैसे करें? –

संबंधित मुद्दे