2011-09-09 5 views
8

हमारे पास एक वेब पोर्टल है जिसमें एक पृष्ठ है जो उपयोगकर्ताओं को एक समय में 5 फाइलें अपलोड करने की अनुमति देता है। पृष्ठ में केवल 5 मानक एएसपी.नेट फ़ाइल अपलोड नियंत्रण हैं।एएसपी.नेट फ़ाइल अपलोड वेब साइट पर अन्य सभी अनुरोधों को रोकें

समस्या यह है कि, हम देख रहे हैं कि जब कोई उपयोगकर्ता फाइल अपलोड कर रहा है तो यह साइट पर अन्य सभी गतिविधियों को रोक देगा। 1-2 मिनट के दौरान अपलोड लेता है, हम देखते हैं कि अनुरोध कतार में शुरू हो जाते हैं और थ्रूपुट बूंदों को शून्य पर अनुरोध करते हैं। जैसे ही फाइलें अपलोड हो जाती हैं, सब कुछ फिर से शुरू होता है। (हम यह दिखाने के लिए नए अवशेष का उपयोग कर रहे हैं कि क्या हो रहा है)

हम अक्सर उपयोग की जाने वाली सुविधा से निपट नहीं रहे हैं और अपलोड की जा रही फाइलें बड़ी नहीं हैं। हालांकि, हमने प्रत्येक फाइल को लगभग 70kb पर 4 फाइलों को अपलोड करने को देखा है।

कुछ जांच ने मुझे this blog post पर ले जाया। दुर्भाग्यवश, वे जो उत्पाद बेचने के लिए होते हैं उन्हें सर्वर 2008 और आईआईएस 7 की आवश्यकता होती है और ग्राहक के पास 2003 और आईआईएस 6 है। इसके अलावा, ऐसा प्रतीत नहीं होता है कि 4 छोटे अपलोडों को यह प्रभावित होना चाहिए।

तो, क्या किसी और ने इस स्थिति में भाग लिया है या इस समस्या को इतने छोटे पैमाने पर इस समस्या का कारण बनने के लिए गलत किया जा सकता है? हो सकता है कि गलत ऐप पूल या web.config सेटिंग्स हैं, हमें यह देखना चाहिए कि थ्रूपुट थ्रॉटलिंग होगा?

+0

क्या यह केवल उसी पीसी और ब्राउज़र पर अवरुद्ध है? क्या साइट अभी भी उसी पीसी पर अन्य पीसी या अन्य ब्राउज़रों पर प्रतिक्रिया देती है? दूसरे शब्दों में, क्या आप ब्राउज़र कनेक्शन-प्रति-सर्वर सीमा को मार रहे हैं? –

+1

कोई भी मौका आप अपने ऐप पूल के थ्रेड को अधिकतम कर रहे हैं? – joelmdev

+0

मुफसा - यह अन्य सभी पीसी और ब्राउज़र को अवरुद्ध कर रहा है जो साइट से कनेक्ट हो रहे हैं, केवल एक ही नहीं। जेएम 2 - शायद। क्या पता लगाने का कोई अच्छा तरीका है? – Ryan

उत्तर

1

असीमित रूप से अपलोड करने के लिए प्रतिनिधियों का उपयोग करने का प्रयास करें। यह मदद कर सकता है।

0

आप अपने अपलोड नियंत्रण को अद्यतन पैनल में क्यों डालने का प्रयास नहीं करते? मुझे लगता है कि अपलोड अनुरोध को अलग से संभाल लेंगे। अगर यह काम करता है तो मुझे बताएं।

0

इस मौके पर जब आप कहते हैं कि साइट पर अन्य सभी गतिविधियां बंद हो जाती हैं तो यह केवल उन ग्राहकों पर ही दिखाई देती है जो अपलोड कर रहे हैं (संपादित करें: मुझे लगता है कि आपने अन्यथा टिप्पणी में संकेत दिया है), और यदि आपको अपलोड के दौरान सत्र में डेटा लिखने की आवश्यकता नहीं है, तो समाधान आसान होगा: अपलोड/पृष्ठ/हैंडलर/WebMethod को अपलोड करें जो अपलोड स्वीकार करता है ताकि वह सत्र में नहीं लिख सके।

  • एक पृष्ठ के लिए, @ Page निर्देश के लिए EnableSessionState="false" या EnableSessionState="ReadOnly" जोड़ें।
  • एक सामान्य हैंडलर के लिए, कक्षा घोषणा से IRequiresSessionState हटाएं, या इसे IReadOnlySessionState से बदलें।
  • कोई WebMethod के लिए, EnableSession property of the WebMethod attribute का उपयोग करें: [System.Web.Services.WebMethod(EnableSession=false)]
0

अगर आप एएसपी fileupload सर्वर नियंत्रण का उपयोग करें जोड़ने के लिए इस कोड

<httpRuntime 
executionTimeout="110" 
maxRequestLength="4096" 
requestLengthDiskThreshold="80" 
useFullyQualifiedRedirectUrl="false" 
minFreeThreads="8" 
minLocalRequestFreeThreads="4" 
appRequestQueueLimit="5000" 
enableKernelOutputCache="true" 
enableVersionHeader="true" 
requireRootedSaveAsPath="true" 
enable="true" 
shutdownTimeout="90" 
delayNotificationTimeout="5" 
waitChangeNotification="0" 
maxWaitChangeNotification="0" 
enableHeaderChecking="true" 
sendCacheControlHeader="true" 
apartmentThreading="false" />` 

web.config करने के लिए बस को बदलने executionTimeout="110" maxRequestLength="4096"

+1

वर्तमान web.config में 'है। क्या यह आपके द्वारा सुझाए जा रहे कार्यों के समान परिणाम प्राप्त करेगा? – Ryan

0
  1. http://www.uploadify.com/
    • आपको सिंगल या मल्टी फाइल अपलोड करने की अनुमति देता है। >

- -> 2. वेब सामान्य हैंडलर - प्रत्येक फाइल करने के लिए भेज दिया जाएगा यहाँ आप जाँच कर सकते हैं आकार, विस्तार, जहां स्टोर करने के लिए आदि ...

  1. अपलोड समाप्त होने के बाद, कुछ संदेश/कार्यवाही प्रतिक्रिया दें।

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

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