2008-08-04 21 views
14

मैं एक ऐसा एप्लीकेशन लिख रहा हूं जो पृष्ठभूमि में बड़ी फाइलें डाउनलोड करता है। सभी ग्राहक स्थानीय रूप से, या वीपीएन के माध्यम से लॉग इन हैं। जब वे स्थानीय रूप से लॉग इन होते हैं, तो मैं डाउनलोड को थ्रॉटल नहीं करना चाहता हूं। हालांकि, जब उपयोगकर्ता वीपीएन के माध्यम से कनेक्ट होता है तो मैं डाउनलोड को 10 केबीपीएस तक सीमित करना चाहता हूं। मैं आईपी एड्रेस रेंज द्वारा इन उपयोगकर्ताओं के बीच अंतर कर सकता हूं।आईआईएस 6 में आईआईएस 6 में बैंडविड्थ थ्रॉटलिंग

चूंकि यह एक एआईआर एप्लीकेशन है, मुझे लगता है कि मैं सर्वर-साइड के माध्यम से थ्रॉटल करूँगा क्योंकि मैं इसे सर्वर सर्वर (आईआईएस 6) या वेब सेवा (एएसपीनेट/सी #) से कर सकता हूं।

आईआईएस 6 के माध्यम से थ्रॉटलिंग ठीक काम करता प्रतीत होता है, लेकिन ऐसा लगता है कि इसे पूरी वेबसाइट पर किया जाना है। आईपी ​​के माध्यम से ऐसा करने के लिए वैसे भी है? या मुझे इसे .NET में करना होगा?

+0

आईआईएस 6 के लिए सरल उत्तर नहीं है। आईआईएस 7 में कुछ ऐसा करने के संभावित तरीके के लिए इसे देखें। [Http://www.hanselman.com/blog/SqueezingTheMostOutOfIIS7MediaBitRateThrottling.aspx ](http://www.hanselman.com/blog/SqueezingTheMostOutOfIIS7MediaBitRateThrottling.aspx) –

उत्तर

7

मेरा पहला विचार यह है। मुझे नहीं पता कि यह काम करेगा या नहीं, लेकिन इसे कोशिश करने में केवल कुछ मिनट लगेंगे।

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

आपके वीपीएन उपयोगकर्ता निजी आईपी के माध्यम से पहुंचेंगे, इसलिए आप उस साइट पर "साइट-वाइड" नियम स्थापित कर सकते हैं जो केवल वीपीएन उपयोगकर्ताओं को प्रभावित करेगा। यह बैंडविड्थ थ्रॉटलिंग सहित लगभग किसी भी आईआईएस 6 सेटिंग के लिए काम करना चाहिए।

कम से कम प्रयास करने के लायक है।

- संपादित करें: इसे आजमाया और यह बेकार ढंग से काम किया।