एक .NET 4.0 सिस्टम में अधिसूचनाओं को लागू करने के लिए सिग्नल का उपयोग कैसे किया जाएगा जिसमें एएसपी.नेट एमवीसी 3 एप्लीकेशन (जो फॉर्म का उपयोग करता है) प्रमाणीकरण), एसक्यूएल सर्वर 2008 डेटाबेस और डेटा को संसाधित करने के लिए एक एमएसएमक्यू डब्ल्यूसीएफ सेवा (डब्ल्यूएएस में होस्ट किया गया)? रनटाइम पर्यावरण में आईआईएस 7.5 विंडोज सर्वर 2008 आर 2 मानक संस्करण पर चल रहा है।एएसपी.नेट एमवीसी 3 से वेब क्लाइंट को सूचित करने के लिए सिग्नलआर का उपयोग कैसे करें कि एमएसएमक्यू कार्य पूरा हो गए हैं
मैंने केवल नमूने के साथ खेला है और सिग्नलआर का व्यापक ज्ञान नहीं है।
यहाँ कुछ पृष्ठभूमि
वेब अनुप्रयोग उपयोगकर्ता से डेटा स्वीकार करता है और एक मेज में जोड़ लेता है। इसके बाद डेटा (एक कार्य) को संसाधित करने के लिए डब्ल्यूसीएफ सेवा के एक तरह से ऑपरेशन (डेटाबेस कुंजी के साथ) को कॉल किया जाता है। वेब एप्लिकेशन उस पृष्ठ पर लौटाता है जिसमें उपयोगकर्ता को डेटा जमा किया गया था और प्रसंस्करण के दौरान उन्हें अधिसूचित किया जाएगा। उपयोगकर्ता एक "इंडेक्स" पृष्ठ देख सकता है जो देखता है कि कौन से कार्य पूर्ण हो गए हैं, असफल हैं या प्रगति पर हैं। वे अधिक कार्य सबमिट करना जारी रख सकते हैं (जो पिछले डेटा से स्वतंत्र है)। वे अपने ब्राउज़र को बंद कर सकते हैं और बाद में वापस आ सकते हैं।
एमएसएमक्यू आधारित डब्ल्यूसीएफ सेवा डेटाबेस से रिकॉर्ड पढ़ती है और डेटा को संसाधित करती है। यह मिलीसेकंड से कुछ मिनट तक कुछ भी ले सकता है। जब यह डेटा को संसाधित करता है, तो रिकॉर्ड संबंधित स्थिति (त्रुटि या असफल) और परिणामों के साथ अद्यतन किया जाता है।
अधिकांश समय, डब्ल्यूसीएफ सेवा किसी भी प्रसंस्करण नहीं कर रही है, हालांकि जब ऐसा होता है, तो उपयोगकर्ता आमतौर पर जानना चाहते हैं कि यह जल्द से जल्द कब किया जाता है। उपयोगकर्ता अभी भी वेब एप्लिकेशन के अन्य हिस्सों का उपयोग करेगा, भले ही उनके पास डब्ल्यूसीएफ सेवा द्वारा संसाधित किए जाने वाले डेटा न हों।
यह मैं
क्या किया है प्राथमिक नेविगेशन बार में है, मैं उपयोगकर्ता के लिए एक संकेतक (फेसबुक या गूगल + के समान) जब कार्यों की स्थिति बदल गई है उन्हें सूचित करने के लिए है। जब वे उस पर क्लिक करते हैं, तो उन्हें सारांशित किया जाता है कि क्या किया गया था और फिर वे परिणाम देख सकते हैं।
jQuery का उपयोग करके, मैं परिवर्तन के लिए सर्वर को मतदान करता हूं। नियंत्रक कार्रवाई यह देखने के लिए जांचती है कि क्या कोई ऐसी प्रक्रिया है जो संशोधित (पूर्ण या असफल) थी और उन्हें वापस लौटाती है अन्यथा कुछ सेकंड प्रतीक्षा करती है और क्लाइंट पर वापस लौटने के बिना फिर से जांचती है। क्लाइंट पर समय निकालने से बचने के लिए, यदि कोई बदलाव नहीं हुआ तो यह 30 सेकंड के बाद वापस आ जाएगा। JQuery स्क्रिप्ट थोड़ी देर प्रतीक्षा करती है और फिर कोशिश करती है।
समस्याओं
प्रदर्शन प्रत्येक उपयोगकर्ता है कि एक पृष्ठ विचारों के साथ गिरावट होती है। विशेष रूप से कुछ भी करने की उनकी आवश्यकता नहीं है। हमने देखा है कि फ़ायरफ़ॉक्स 7+ और सफारी के स्मृति उपयोग समय के साथ बढ़ता है।
SignalR
का उपयोग करते हुए मैं आशा करती हूं कि SignalR का उपयोग करने जा मतदान को कम करने और इस प्रकार विशेष रूप से अगर कुछ भी नहीं डेटाबेस में बुद्धिमान काम बदल गया है संसाधन आवश्यकताओं को कम कर सकते हैं। मुझे डब्ल्यूसीएफ सेवा को ग्राहकों को सूचित करने में परेशानी है कि यह एक कार्य को संसाधित करने के साथ किया गया है, यह तथ्य है कि यह फॉर्म आधारित प्रमाणीकरण का उपयोग करता है।
इस सवाल से पूछकर, मुझे उम्मीद है कि कोई मुझे बेहतर अंतर्दृष्टि देगा कि वे सिग्नलआर का उपयोग करके मेरी अधिसूचना योजना को फिर से डिजाइन कैसे करेंगे।
के लिए कोई भी सुझाव [इस] (http://stackoverflow.com/q/34090045/2404470) – xameeramir