2015-07-15 7 views
7

से अधिक है क्या किसी को पता है कि इस त्रुटि को पकड़ने का कोई तरीका है या नहीं?वेबएपी 2 अधिकतम अनुरोध लंबाई

अनिवार्य रूप से मैं कुछ कार्यक्षमता को लागू करने की कोशिश कर रहा हूं ताकि उपयोगकर्ता किसी वेबपृष्ठ से वेबपै नियंत्रक को फ़ाइल अपलोड कर सके।

यह ठीक काम करता है, लेकिन यदि फ़ाइल का आकार web.config में निर्दिष्ट अधिकतम आकार से अधिक है तो सर्वर 404 त्रुटि देता है।

मैं इसे रोकने में सक्षम होना चाहता हूं और क्लाइंट द्वारा उपभोग किए जा सकने वाले संदेश के साथ 500 त्रुटि लौटा सकता हूं।

मैं वेबएपी में ऐसा करने के लिए काम नहीं कर सकता हूं, जिसे मैंने ग्लोबल.एक्सएक्स में लागू किया गया एप्लिकेशन_इरर विधि कभी नहीं मारा है और ऐसा लगता है कि आईआईएस वेबएपी एप्लिकेशन के माध्यम से इसे पास नहीं कर रहा है।

+1

आप अधिकतम अनुरोध आकार की अनुमति को बढ़ाने के लिए की जरूरत है। यह उत्तर देखें: http://stackoverflow.com/questions/288612/how-to-increase-the-max-upload-file-size-in-asp-net –

+2

मैंने पहले ही यह किया है, लेकिन मैं बनना चाहता हूं उदाहरणों में त्रुटि को पकड़ने में सक्षम होने पर यह पार हो गया है। – llihp

उत्तर

3

आईआईएस को 2 जीबी अनुरोध (बाइट्स में) स्वीकार करने की कोशिश करें।

<system.webServer> 
    <security> 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="2147483648" /> // 2GB 
    </requestFiltering> 
    </security> 
</system.webServer> 

और एएसपी.NET ऐप (किलोबाइट्स में) के लिए उचित अनुरोध आकार सेट करें।

<system.web> 
    <httpRuntime maxRequestLength="4096" /> // 4MB (default) 
</system.web> 

अब आईआईएस कम 2GB से अनुरोध आपके एप्लिकेशन को पारित करना चाहिए, लेकिन एप्लिकेशन 4MB अनुरोध आकार तक पहुँचने Application_Error में कूद जाएगा। वहां आप प्रबंधित कर सकते हैं कि आप क्या वापस करना चाहते हैं।

वैसे भी, 2 जीबी से अधिक अनुरोध हमेशा आईआईएस द्वारा 404.13 लौटाएंगे।

संबंधित लिंक:

Dealing with large files in ASP.NET Web API

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