मेरे पास .NET 3.5 SP1 का उपयोग करके लिखा गया एक एप्लिकेशन है जो बाहरी साइट से छवियों को डाउनलोड करता है और उन्हें उपयोगकर्ताओं को समाप्त करने के लिए प्रदर्शित करता है। दुर्लभ ocassions पर, मेरे उपयोगकर्ता OutOfMemory त्रुटियों का सामना कर रहे हैं क्योंकि वे भारी छवियों को डाउनलोड कर रहे हैं। कभी-कभी इन छवियों से जुड़े कच्चे डेटा बड़े होते हैं, लेकिन अधिकतर, छवियों के आयाम बहुत बड़े होते हैं। मुझे एहसास है कि मैं कभी भी इस तथ्य को पाने में सक्षम नहीं हो सकता कि इन ओओएम त्रुटियों को विशेष छवियों के लिए फेंक दिया गया है। यह बहुत उपयोगी होगा, हालांकि, अगर मैं किसी भी तरह से छवि लोड करने का प्रयास करने से पहले किसी विशेष छवि को लोड करने से ओओएम मुद्दे को लोड कर सकता हूं तो यह निर्धारित कर सकता है।यह पता लगाने के लिए कि कोई छवि लोड करने से .NET में आउटऑफमेमरी अपवाद फेंक देगा?
छवियों के लिए डेटा स्ट्रीम में लोड किया गया है, और फिर छवि स्वयं को सिस्टम में बदल दिया जाता है। ड्रॉइंग। सिस्टम को कॉल करके इमेज। ड्रॉइंग.इमेज.फ्रेमस्ट्रीम (स्ट्रीम)। मेरे पास पहले डिस्क पर इन छवियों को संग्रहीत करने का विकल्प नहीं है। उन्हें स्मृति के माध्यम से लोड किया जाना चाहिए।
अगर किसी के पास कोई सुझाव या सुझाव है जो मुझे यह पता लगाने की अनुमति देगा कि एक छवि लोड करने से ओओएम अपवाद हो जाएगा, तो मैं इसकी बहुत सराहना करता हूं।
"छवियों के लिए डेटा स्ट्रीम में लोड किया गया है" ... जादू द्वारा, या कैसे? – Will
@Will - "बाहरी साइट से डाउनलोड छवियां" –
@ जोएल तो उसे स्ट्रीम मिलती है, फिर उस स्ट्रीम को मेमोरीस्ट्रीम में फ़ीड करता है, फिर उस स्ट्रीम को किसी छवि के साथ उपयोग करता है? और वह सोच रहा है कि वह स्मृति से बाहर क्यों चल रहा है? क्यों न केवल मूल धारा का उपयोग करें और मध्य आदमी को काट लें? क्या मैं पागल हूँ? – Will