2009-12-29 17 views
5

मेरे पास लिनक्स/मोनो पर चलने वाला एक लंबा चल रहा सी # सर्वर एप्लिकेशन है, और मैंने एप्लिकेशन को विस्तारित करने के लिए फ्लाई पर डीएलएल असेंबली लोड करने की क्षमता को जोड़ा है। मैंने उन डीएलएल असेंबली को अद्यतन करने की खोज की है जो रनटाइम पर ऐपडॉमेन्स का उपयोग किए बिना किए जा सकते हैं, जो कि दिखने के जरिए बस मेरे द्वारा किए गए कार्यों के रास्ते में आ जाएगा। निश्चित रूप से कामकाज होगा, लेकिन यह वही नहीं है जो मैं वास्तव में चाहता हूं।AppDomains से बचने की कोशिश कर रहे हैं

क्या मोनो कोई वैकल्पिक समाधान प्रदान करता है जिसे मैं याद कर सकता हूं? क्या सी # 4.0 में इस क्षेत्र में कुछ नया है?

उत्तर

0

मैंने Mono.CSharp लाइब्रेरी का उपयोग किया। आप फ्लाई पर सी # कोड संकलित कर सकते हैं, और इसे निष्पादित करने के लिए अपने मुख्य एप्लिकेशन में हुक लगा सकते हैं।

1

व्यवहार को संशोधित करने के लिए एक नई असेंबली में लोड करने के बजाय, क्या आपने एप्लिकेशन को अलग-अलग घटकों में तोड़ने और वेबसाइकिल या टीसीपी/आईपी के माध्यम से उनके बीच संवाद करने पर विचार किया है? इस तरह आप घटक कहां बदलते हैं, इसे बदलकर एप्लिकेशन (रनटाइम पर) के व्यवहार को बदल सकते हैं। उदाहरण के लिए, आप नए व्यवहार के साथ एक नया घटक बना सकते हैं, उदाहरण के लिए webservice, और फिर इसका उपयोग करने के लिए सभी मौजूदा घटकों को निर्देश दें।

यह मोनो रन-टाइम के साथ लंबे समय तक चलने वाले अनुप्रयोगों के साथ कुछ स्मृति समस्याओं को भी हल करेगा।

+0

सभी संदेश प्लंबिंग, और ओवरहेड जो लाता है वह है जिसे मैं टालने की कोशिश कर रहा हूं। मुझे अपने ऐप के साथ मोनो के साथ लंबे समय तक चलने में कोई समस्या नहीं है। – FlappySocks

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