WCF

2009-02-17 14 views
5

में स्ट्रीमिंग सेवा अनुबंध पर आकार और समय-समय पर मैं वर्तमान में एक छोटी परियोजना पर काम कर रहा हूं, जहां मुझे इंटरनेट पर संभावित रूप से बड़ी फ़ाइल भेजने की आवश्यकता है।WCF

कुछ बहस के बाद मैंने एक चंकिंग दृष्टिकोण के बजाय स्ट्रीमिंग विकल्प के साथ जाने का फैसला किया। फाइलें संभावित रूप से बहुत बड़ी हो सकती हैं, मैं वास्तव में सटीक ऊपरी बाउंड, 2 जीबी शायद 4 जीबी निर्दिष्ट नहीं करना चाहता, जो जानता है।

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

अलग-अलग आकार की विभिन्न फ़ाइलों की कोशिश करने के दौरान चारों ओर घूमते हुए, धीरे-धीरे, चरण-दर-चरण, मेरे BasicHttp बाइंडिंग के गुणों को ट्यून किया गया। मैं बस सोच रहा हूं कि जिन मूल्यों के साथ मैं आया हूं वे मूल रूप से ठीक हैं, या यदि वे पूरी तरह से बुरा हैं?

transferMode="Streamed" 
sendTimeout="10675199.02:48:05.4775807" 
receiveTimeout="10675199.02:48:05.4775807" 
openTimeout="10675199.02:48:05.4775807" 
closeTimeout="10675199.02:48:05.4775807" 
maxReceivedMessageSize="9223372036854775807" 

यह किसी भी तरह से सही नहीं लगता है, ये प्रत्येक अंतर्निहित डेटा संरचना के लिए अधिकतम संभव मूल्य हैं। लेकिन मुझे नहीं पता कि और क्या करना है।

तो फिर से:

क्या यह मूल रूप से सही दृष्टिकोण है? या क्या मैंने पूरी तरह से ढांचे को गलत समझा और दुरुपयोग किया?

धन्यवाद

उत्तर

2

ठीक है, एक और अधिक प्राकृतिक दृष्टिकोण प्रतिबद्ध करने के लिए एक अंतिम संदेश के साथ, मध्य आकार मात्रा में एक दृश्य में फ़ाइल भेजने के लिए हो सकता है; यह त्रुटि से फिर से शुरू करना भी संभव बनाता है। पूरी तरह से खुले नंबरों के साथ शायद थोड़ा सा डॉस मुद्दा है ...

0

मुझे पहले से ही स्ट्रीमिंग में समस्या है जब डब्ल्यूसीएफ क्लाइंट और सर्वर के बीच कनेक्शन वीपीएन के माध्यम से जाता है। यदि दिलचस्पी है, तो this thread में और पढ़ें।

यदि स्ट्रीम अधिक मिनट के लिए स्ट्रीम करने के लिए पर्याप्त है तो एक मिनट - एक अपवाद होता है।

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