दिलचस्प पोस्ट
हाइबरनेट में आलसी लोडिंग क्या है? संदर्भ आंतरिक कैसे कार्यान्वित किया जाता है? MongoDB: कैसे एक क्षेत्र के प्रकार को बदलने के लिए? बैच फ़ाइल में उपयोगकर्ता द्वारा प्रदत्त इनपुट के लिए पीछे और अग्रणी व्हाइसेस्पेस को कैसे निकालना है? क्या वाइल्डकार्ड आयात से बचा जाना चाहिए? IMEI को आईफोन पर कैसे प्राप्त करें? PDO का उपयोग कर सहायक फ़ंक्शन डालें / अपडेट करें वेरिएबल के नाम से पहले स्टाइल, बजाय टाइप के बाद क्यों? पृष्ठभूमि और पृष्ठभूमि-रंग के बीच अंतर क्या है एंड्रॉइड में जावक एसएमएस या भेजे गए बॉक्स को सुनें इंटरकनेक्टिव एंट्री विजेट सामग्री को टेकिनटर में मान्य कर रहा है जीआईटी रिबेस, 'स्थानीय' और 'रिमोट' का ट्रैक रखने लॉगिन मैक पर स्क्रिप्ट चलाना एएसपी.नेट एमवीसी में ड्रॉपडाउन लिस्ट का उपयोग करने के सर्वश्रेष्ठ प्रोग्रामिंग अभ्यास Django 1.7 फेंकता है django.core.exceptions.AppRegistryNotReady: मॉडल अभी तक लोड नहीं किए गए हैं

ASP.NET कैसे उपयोगकर्ता के लिए स्ट्रीम करने के लिए फ़ाइल

शुरू में मैं यह पता लगाने की कोशिश कर रहा था कि अंतर क्या है। प्रतिक्रिया और बंद होने के बीच। अंत, लेकिन अधिक Googling और अनुसंधान करने के बाद, यह स्पष्ट है कि मैंने एक बाइट [] को वापस नहीं भेजा है ग्राहक को वापस भेजा मैं नीचे कोड नमूना छोड़ दूँगा, लेकिन मैं यह जानना चाहूंगा कि यह करने के लिए उद्योग मानक क्या है।

Byte[] myBytes = GetReportBytes(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AppendHeader("content-length", myBytes.Length.ToString()); HttpContext.Current.Response.AppendHeader("content-Disposition", "attachment;filename=" + this.ReportFileName + GetReportExtension()); HttpContext.Current.Response.ContentType = GetApplicationContentType(); HttpContext.Current.Response.BinaryWrite(myBytes); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.Close(); //CERT FIX //HttpContext.Current.Response.End(); 

वेब के समाधान से एकत्रित समाधान "ASP.NET कैसे उपयोगकर्ता के लिए स्ट्रीम करने के लिए फ़ाइल"

मैं Response.Close() नहीं दूंगा। Response.Close() या Response.End()Response.End()

Response.End() उस बिंदु पर पृष्ठ निष्पादन / रेंडरिंग को रोक देगा। Response.End() के बाद कोई कोड नहीं। Response.End() चलाया जाएगा। प्रतिक्रिया उस बिंदु पर समाप्त हो गई है जिसके साथ स्ट्रीम में कोई और आउटपुट नहीं जोड़ा गया है।

Response.Close() के समान है, लेकिन कोड को इसे बुलाया जाने के बाद निष्पादित करने की अनुमति देता है (लेकिन पृष्ठ प्रतिक्रिया में कोई और आउटपुट भेजा जा सकता है)।

Response.Flush() पृष्ठ पर किसी भी शेष प्रतिक्रिया आइटम भेजेगा।

आईआईएस कोर टीम सदस्य से :

रिस्पांस। क्लोज़ क्लाइंट को रीसेट पैकेट भेजता है और इसे गलती की स्थिति के अलावा अन्य किसी भी चीज में लेता है, सभी तरह की समस्याएं पैदा करेगा- उदाहरण के लिए, यदि आप पर्याप्त विलंब के साथ एक ग्राहक से बात कर रहे हैं, तो रीसेट पैकेट किसी भी अन्य प्रतिक्रिया डेटा को बफर कर सकता है सर्वर, ग्राहक या कहीं बीच में गिरा दिया जाए

इस विशेष मामले में, संपीड़न में प्रतिक्रिया के भीतर सामान्य पैटर्न की खोज करना शामिल है और कुछ अतिरिक्त प्रतिक्रियाओं को संपीड़न कोड द्वारा बफर करने के लिए अधिक दोहराए जाने वाले पैटर्न खोजने की संभावना बढ़ाने के लिए शामिल है – इस भाग को बफ़र ग्राहक के पास नहीं भेजा जा सकता है क्या करें। बंद करें ()।

संक्षेप में, प्रतिक्रिया का उपयोग न करें। बंद करें ()