2009-09-11 18 views
6

मैं एएसपीनेट में चैट सिस्टम को कार्यान्वित कर रहा हूं, Google चैट की तरह और मैं डेटा भेजने और प्राप्त करने के लिए xmhttp का उपयोग करता हूं, और मैं सभी उपयोगकर्ताओं के लिए सभी चैट स्टोर करने के लिए एक ही टेबल का उपयोग कर रहा हूं।चैट सिस्टम कार्यान्वित करना: चैट डेटा कहां स्टोर करना है?

मैं एक XMLHttpRequest का उपयोग कर एसक्यूएल में वैश्विक अस्थायी तालिकाओं को बनाना चाहता था ताकि डेटा को व्यवस्थित करने के लिए एबीएल हो सके (एक सिग्नल टेबल में सभी चैट को संग्रहीत करने के बजाय (मैं निश्चित रूप से नहीं जानता) कई लॉकिंग मुद्दों का कारण बन सकता है उपयोगकर्ता इसे एक्सेस कर रहे हैं।)

भी मेरे सिस्टम के लिए मुझे चैट को स्टोर करने की ज़रूरत नहीं है और इसलिए मैंने सोचा कि एक वैश्विक अस्थायी तालिका बेहतर होगी क्योंकि इसे पहले से ही गिरा दिया जाएगा और मुझे इसे साफ़ करने की परेशानी बचाई जाएगी।

लेकिन तालिका के बाद Xmlhttprequest द्वारा इसे बनाया गया है, इसकी रचना के ठीक बाद इसे छोड़ दिया जाता है .... ऐसा क्यों होता है मुझे नहीं पता .... मैंने सभी कनेक्शन बंद लाइनों को भी हटा दिया है लेकिन अभी भी कोई भाग्य नहीं है

तो मुझे क्या करना चाहिए ?? अगर किसी को भी किसी भी ऑनलाइन संसाधन के बारे में पता है जो मुझे सर्वोत्तम प्रथाओं के बारे में बता सकता है तो कृपया मुझे बताएं।

+0

यदि आपको चैट स्टोर करने की ज़रूरत नहीं है, तो आप इसे डीबी में क्यों डाल रहे हैं? यदि आप स्नैपशॉट अलगाव में लॉकिंग के बारे में चिंतित हैं- http://msdn.microsoft.com/en-us/library/tcbchxcb.aspx – RichardOD

+0

अपना स्वयं का उपयोग न करें - आईआरसी, जैबर या जो कुछ भी उपयोग करें। – reinierpost

उत्तर

1

आपकी तालिका में कई उपयोगकर्ताओं के साथ लॉकिंग समस्या नहीं होगी। अस्थायी सारणी को क्रॉस-कॉल साझा करने के लिए नहीं कहा जाता है, और आप उस पथ के नीचे और अधिक रोडब्लॉक के साथ हवा में जा रहे हैं। तालिका में अपने डेटा को बस स्टोर करना शायद बेहतर है, फिर तालिका को मतदान करें।

एकमात्र समय जब आप "लॉकिंग समस्याएं" प्राप्त कर सकते हैं तो यह है कि यदि उपयोगकर्ता एक ही पंक्ति में डेटा के समान हिस्से को एक ही समय में लिखने का प्रयास कर रहे हैं ... जो चैट एप्लिकेशन में नहीं हो रहा है।

इसके अतिरिक्त, Google चैट मतदान कार्यान्वयन के बजाय एक COMET शैली कार्यान्वयन का उपयोग करता है। यह मेरा अनुभव रहा है कि उपयोगकर्ता अनुभव के संदर्भ में सीओएमईटी> मतदान।

+0

तो मुझे क्या करना चाहिए, मुझे बताएं कि मैं इसे कैसे संभाल सकता हूं। – Abhishek

+0

क्षमा करें प्रिय मुझे सीओएमईटी शैली के बारे में पता नहीं है तो कृपया मुझे इसके बारे में बताएं। और मुझे जवाब देने के लिए धन्यवाद। – Abhishek

+0

http://en.wikipedia.org/wiki/Comet_%28programming%29 – RedFilter

0

आपको अपने डेटाबेस पर वास्तव में कोई भी चैट संदेश नहीं रखना चाहिए ... जब तक आप ऑफ़लाइन संदेश लागू नहीं कर लेते।