हमारे पास सर्वर पर ग्राहक जानकारी अपडेट करने की एक सेवा है। एक सेवा कॉल में लगभग कुछ सेकंड लगते हैं, जो सामान्य है।आग और भूलें (Asynch) ASP.NET विधि कॉल
अब हमारे पास एक नया पृष्ठ है जहां एक उदाहरण में लगभग 35-50 कॉस्ट्यूमर जानकारी अपडेट की जा सकती है। सभी ग्राहकों को एक साथ स्वीकार करने के लिए सेवा इंटरफ़ेस को बदलना इस बिंदु पर प्रश्न से बाहर है।
मुझे एक विधि कॉल करने की आवश्यकता है ("ProcessCustomerInfo" कहें), जो ग्राहकों की जानकारी के माध्यम से लूप करेगा और 35-50 बार वेब सेवा कॉल करेगा। असीमित रूप से कॉलिंग सेवा का अधिक उपयोग नहीं है।
मुझे विधि "ProcessCustomerInfo" को अतुल्यकालिक रूप से कॉल करने की आवश्यकता है। मैं इसके लिए RegisterAsyncTask का उपयोग करने का प्रयास कर रहा हूं। वेब पर कई उदाहरण उपलब्ध हैं, लेकिन अगर मैं इस पृष्ठ से दूर जाता हूं तो समस्या इस कॉल को शुरू करने के बाद होती है, प्रसंस्करण बंद हो जाता है।
क्या आग को कार्यान्वित करना संभव है और विधि कॉल भूल जाएं ताकि उपयोगकर्ता विधि प्रसंस्करण को रोकने के बिना पृष्ठ से दूर (दूसरे पृष्ठ पर रीडायरेक्ट) स्थानांतरित कर सके?
धन्यवाद जोएल! मैंने पहले इस विधि को देखा लेकिन अनदेखा किया क्योंकि MethodInvoker System.Windows.Form का हिस्सा है। ऐसा लगता है कि रीडायरेक्शन के साथ ठीक काम कर रहा है, हालांकि मुझे और परीक्षण करने की ज़रूरत है। लेकिन क्या मुझे एएसपी.नेट के लिए इस विधि का उपयोग करना चाहिए? या इसके लिए कोई वेब विकल्प है? – BinaryHacker
ओह हाँ, इसके बारे में क्षमा करें। यह एएसपी.नेट के साथ ठीक काम करेगा, लेकिन अगर आपको ऐसा करने की ज़रूरत नहीं है तो सिस्टम.विंडोज़.फॉर्म को अपनी परियोजना में शामिल करना शर्म की बात होगी। इसके बजाय आप अपना खुद का प्रतिनिधि बना सकते हैं और MethodInvoker के बजाय इसका उपयोग कर सकते हैं। मैंने उपरोक्त कोड नमूना अपडेट किया है। –
MethodInvoke केवल एक प्रतिनिधि है जो आपके लिए पहले से ही कोई पैरामीटर या वापसी मान नहीं है, ताकि आपको अपना खुद का निर्माण करने के लिए समय न लेना पड़े। ProcessCustomerInfoDelegate कि हमने अभी ठीक उसी तरह काम किया है। –