2010-04-12 11 views
5

ऑब्जेक्ट की वर्तमान स्थिति के कारण ऑपरेशन मान्य नहीं है, कभी-कभी, जब कोई मोनो .NET अनुप्रयोग चलाता है (ऐसा लगता है कि यह इनपुट डेटा पर निर्भर नहीं है, क्योंकि यह नहीं बदलता है), तो मैं निम्न स्थिति में चला जाता हूं: एक (गैर खाली, मैं अपनी गणना की जाँच पहले से) क़तार से एक तत्व विपंक्ति करने की कोशिश कर, एक अपवाद फेंका जाता है:ऑब्जेक्ट

Unhandled अपवाद: System.InvalidOperationException: ऑपरेशन वस्तु की वर्तमान स्थिति की वजह से मान्य नहीं है सिस्टम पर। Colections.Generic.Queue 1[DBWorkItem].Peek()[0x00000] at System.Collections.Generic.Queue 1 [DBWorkItem]। Dequeue() [0x00000] डीबीप्रोसेसर.प्रोसेस (System.Object q) [0x0006b] < में ...>

हालांकि मैं निश्चित रूप से इस अपवाद को पकड़ सकता हूं, तत्व को हटा दिया गया है और खो गया है। क्या किसी और ने भी इस व्यवहार का सामना किया है?

+0

क्या आप इस कतार को एकाधिक धागे से एक्सेस कर रहे हैं? –

उत्तर

5

क्या आपके पास इस कतार का उपयोग करके एकाधिक धागे हैं? जब आप गिनती की जांच करते हैं तो यह खाली नहीं हो सकता है, लेकिन जब आप आइटम को देखने की कोशिश करते हैं तो खाली हो जाते हैं।

यदि आपके पास समस्या का प्रदर्शन करने वाला एक छोटा लेकिन पूरा कार्यक्रम है, तो हम निश्चित रूप से बता सकते हैं। बेशक, यह संभव है कि यह एक मोनो बग है, हालांकि मेरा अनुभव यह है कि सिस्टम ढांचे आमतौर पर कोड में कॉल करने से अधिक मजबूत होते हैं।

+0

मैं वास्तव में कई धागे का उपयोग कर रहा हूं, हालांकि प्रत्येक धागे की अपनी कतार है (जिसमें डेटाबेस के खिलाफ काम करने वाली वस्तुओं को शामिल किया जाता है), इसलिए यह कोई समस्या नहीं होनी चाहिए। हालांकि, मैं इसकी जांच करने की कोशिश करूंगा। दुर्भाग्य से, कोड यहां पोस्ट करने के लिए बहुत जटिल है ... – DBa

+0

@ डीबीए: फिर कोड लें और इसे तब तक हथौड़ा दें जब तक कि यह पोस्ट करने के लिए बहुत जटिल नहीं है। आप * कहते हैं कि प्रत्येक धागे की अपनी कतार है - आप कितने निश्चित हैं कि वास्तव में यह मामला है? यह इरादा हो सकता है, लेकिन यदि दो धागे एक ही कतार की जांच कर रहे हैं, तो यह समस्या हो सकती है। –

+0

@ डीबीए, क्या आपको इस मुद्दे का समाधान मिला? किसी भी अद्यतन? मदद की सराहना की, धन्यवाद! – Tate

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