हम एक समस्या हाल ही में जहां डेवलपर्स में से एक है जब एक पीडीएफ के पास निम्न की इसी तरह से डाउनलोड करने के लिए मजबूर कर रहा HttpApplication.CompleteRequest
का उपयोग करने के HttpResponse.End
का उपयोग करने से कोड की एक पंक्ति बदल गया था था: https://stackoverflow.com/a/8590579/3856039उपयोग PDF डाउनलोड
ऐसा करने से कुछ पीडीएफ गैर-ब्रेकिंग स्पेस इश्यू के कारण डाउनलोड करने में असफल हो जाते हैं, इसलिए कोड HttpResponse.End
का उपयोग करने के लिए वापस बदल दिया गया था।
हालांकि, मेरे सहकर्मी मैं कुछ शोध को कर रहा था और मैं निम्नलिखित प्रश्न में आए मदद करने में: Is Response.End() considered harmful?
कौन से जोड़ता है: https://blogs.msdn.microsoft.com/aspnetue/2010/05/25/response-end-response-close-and-how-customer-feedback-helps-us-improve-msdn-documentation/
को देखते हुए क्या MSDN ब्लॉग पोस्ट में दर्ज है, ऐसा लगता है कि HttpResponse.End
का उपयोग गलत तरीका है, इसलिए मैं सोच रहा था कि यह भी आवश्यक है या कोई बेहतर दृष्टिकोण है या नहीं?
यदि आपके पास अनुरोध को मैन्युअल रूप से समाप्त करने का कोई कारण है तो CompleteRequest उपयोग करने की बात है, अगर यह किसी और समस्या का कारण बन रही है तो आपको यह पता होना चाहिए कि आपको क्या पता होना चाहिए और ठीक करना चाहिए। प्रतिक्रिया लिखने के बाद यदि आपका एप्लिकेशन स्वाभाविक रूप से अपने प्रवेश बिंदु पर स्वाभाविक रूप से वापस आ जाता है तो आपको कुछ भी कॉल करने की आवश्यकता नहीं है। –
क्या आपने फ़ाइल को बाइट सरणी के रूप में पढ़ने की कोशिश की है और इसे FileResult के रूप में वापस कर दिया है? यह आपके प्रश्न का जवाब नहीं देता है, लेकिन यह एक कामकाज हो सकता है। –
मुझे लगता है कि आपके द्वारा शामिल एमएसडीएन लिंक में वह उत्तर है जिसे आप ढूंढ रहे हैं: "एंड विधि केवल तभी है क्योंकि हमने क्लासिक एएसपी के साथ संगत होने की कोशिश की थी जब 1.0 जारी किया गया था।" यह तब कहता है कि इसकी अनुशंसा नहीं की जाती है क्योंकि यह सामग्री को समकालिक रूप से फ़्लश करती है, जबकि अनुरोध सामान्य तरीके से समाप्त होने पर डेटा को असंकालिक रूप से भेजा जाता है। "अंत के लिए प्रलेखन में यह कहना चाहिए कि FullRequest EndRequest अधिसूचना को आगे छोड़ने और अनुरोध को पूरा करने का एक बेहतर तरीका है।" –