2013-03-20 10 views
21

वापस नहीं करता है मेरे एएसपी.नेट एमवीसी नियंत्रक में एक क्रिया है जो 400 खराब अनुरोध के साथ जेएसओएन डेटा लौटाता है जब अमान्य पैरामीटर कार्रवाई में पास किए जाते हैं।एएसपी.नेट + एज़ूर 400 खराब अनुरोध जेएसओएन डेटा

[HttpDelete] 
public ActionResult RemoveObject(string id) { 
    if(!Validate(id)) { 

     Response.StatusCode = (int)HttpStatusCode.BadRequest; 
     return Json(new { message = "Failed", description = "More details of failure" }); 
    } 
} 

यह आईआईएस के तहत या विजुअल स्टूडियो से लॉन्च किए गए विकास परीक्षण सर्वर के साथ पूरी तरह से काम करता है। परियोजना को Azure में तैनात करने के बाद 400 खराब अनुरोध JSON डेटा के बिना वापस आता है। संदेश के लिए सामग्री प्रकार 'टेक्स्ट/एचटीएमएल' और 'खराब अनुरोध' में बदल गया है।

व्यवहार Azure के तहत क्यों भिन्न है?

उत्तर

45

अपनी 'web.config' में निम्न प्रविष्टि जोड़ें।

<system.webServer> 
    <httpErrors existingResponse="PassThrough"/> 
</system.webServer> 

यह HTTP त्रुटियों को बिना छेड़छाड़ के माध्यम से पारित करने की अनुमति देगा।

+4

क्या इसे सक्षम करने के लिए कोई सुरक्षा चिंता जुड़ी हुई है? –

+7

प्रिय भगवान। मैंने पिछले 12 घंटों में यह पता लगाने की कोशिश की कि मेरे AJAX अनुरोध क्यों काम नहीं करेंगे। मैंने अपने Express.js ऐप में प्रॉक्सी सेटिंग्स को ट्वीक करने के लिए CORS समर्थन जोड़ने से सब कुछ करने की कोशिश की। जेएसओएन ठीक से वापस आ जाएगा यह सुनिश्चित करने के लिए यह एक आसान समाधान था। –

+0

मुझे आईआईएस 8 चलाने वाले अमेज़ॅन एडब्ल्यूएस इंस्टेंस पर एक ही समस्या थी। यह उस मुद्दे को ठीक करता था जो मुझे था और मुझे बोनकर्स चला रहा था। – mcdrummerman

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