में स्टेटिक वैरिएबल मैं एक डॉट नेट प्रोजेक्ट पर काम कर रहा हूं, जिसमें एक डीएलएल शामिल है। यह डीएलएल एक .lib (सी कोड) का उपयोग करता है। दुर्भाग्यवश, इस में कई स्थिर चर हैं। Lib। समस्या मेरे पास है:डॉटनेट: डीएलएल
यदि दो उपयोगकर्ता एक ही समय में एक खोज करते हैं, तो मुझे एक त्रुटि मिलती है, क्योंकि वे दोनों .lib तक पहुंचते हैं, जबकि डेटा को पढ़ने की कोशिश करने के दौरान कुछ बदलता है।
स्पष्ट समाधान, एक्सेस को लॉक करना होगा, लेकिन मैं वास्तव में ऐसा नहीं करना चाहता, क्योंकि यह खोज प्रक्रिया को बहुत धीमा कर देता है। मैं बजाय lib से डीएलएल बनाने की कोशिश करता हूं, लेकिन मुझे नहीं पता कि इससे समस्या हल हो जाएगी, क्योंकि मुझे नहीं पता कि स्थैतिक चर अलग-अलग संग्रहीत किए जाएंगे, या यदि दोनों खोज प्रक्रियाएं समान होंगी चर।
क्या किसी के पास इसका अनुभव है? क्योंकि ऐसा करने में काफी समय लगेगा, और मैं यह जानना चाहता हूं कि यह करने से पहले यह काम करता है या नहीं।
मुझे उम्मीद है कि सबकुछ समझ में आता है, क्योंकि अंग्रेजी मेरी पहली भाषा नहीं है, और मेरे प्रोग्रामिंग कौशल बहुत बुनियादी हैं।
* * * * स्थिर * फ़ील्ड के अत्यधिक उपयोग से बचें। * प्रकार * डिज़ाइन बदलने की कोशिश करें। – adatapost
समस्या यह है कि सी कोड statics से भरा है, यह सब कुछ बदलने के लिए रास्ता लंबा लगेगा। एटीएम देखने वाला एकमात्र तेज़ विकल्प, इस डीएलएल "चाल" की कोशिश कर रहा है। – Stefan
@Stefan: एक नई असेंबली में एक नया प्रकार परिभाषित करें जिसमें उस सी कोड (और केवल इसे) तक पहुंच हो, दूसरे शब्दों में इसके लिए एक रैपर। उस प्रकार से एडीएन, जिस तरह से आप चाहते हैं सी संसाधनों के लिए विशेष पहुंच का प्रबंधन करें। इसलिए यदि आप कुछ सी फ़ंक्शन को कॉल करना चाहते हैं, तो आपको उस प्रकार का उपयोग करना होगा, और यदि आप निष्पादन के मिडल में कुछ कॉल करेंगे, तो वही प्रकार आपको अवरोधित करेगा, अपवाद उठाएगा, संदेश दिखाएगा .. जो भी हो। – Tigran