asp.net - Cannot reference custom event from web.config -


मैंने एक कस्टम इवेंट MyWebErrorEvent से लिखी है WebErrorEvent स्थित अपने asp.net 2.0 वेब साइट परियोजना के app_code फ़ोल्डर में कक्षा MyWebErrorEvent नामस्थान में समाहित नहीं है मैंने अपनी वेब। Config फ़ाइल में निम्नलिखित डाल दिया है:

  & lt; कॉन्फ़िगरेशन & gt; & LT; system.web & gt; & LT; healthMonitoring & gt; & LT; eventMappings & gt; & Lt; add name = "Event1" startEventCode = "0" endEventCode = "2147483647" प्रकार = "MyWebErrorEvent" / & gt; & Lt; / eventMappings & gt; & Lt; / healthMonitoring & gt; & LT; /system.web> & Lt; / विन्यास & gt;  

समय और चलाने के समय को संकलित करने पर मुझे निम्न त्रुटि मिलती है:

  वर्णन: इस विन्यास की सेवा के लिए आवश्यक विन्यास फाइल की प्रक्रिया के दौरान एक त्रुटि हुई । कृपया नीचे विशिष्ट त्रुटि विवरण की समीक्षा करें और अपनी कॉन्फ़िगरेशन फ़ाइल को उचित रूप से संशोधित करें। पार्सर त्रुटि संदेश: 'MyWebErrorEvent' प्रकार लोड नहीं किया जा सका स्रोत त्रुटि: रेखा 16: & lt; स्वास्थ्य मॉनिटरिंग & gt; रेखा 17: & lt; इवेंट मैपिंग & gt; रेखा 18: & lt; add name = "Event1" startEventCode = "0" endEventCode = "2147483647" प्रकार = "MyWebErrorEvent" / & gt; रेखा 1 9: & lt; / eventmappings & gt; रेखा 20: & lt; / स्वास्थ्य मॉनिटरिंग & gt;  

वर्ग MyWebErrorEvent वास्तव में त्रुटियों के बिना संकलित करता है कोई भी यह कैसे तय करता है?

संपादित करें: कहता है कि यह कस्टम ईवेंट के लिए काम करना चाहिए। एक उद्धरण:

ASP.NET अनुप्रयोग की बिन उपनिर्देशिका में कस्टम वेब ईवेंट कार्यान्वयन में असेंबली जोड़ें। वैकल्पिक रूप से, आप इवेंट सोर्स कोड फ़ाइल को App_Code उपनिर्देशिका में जोड़ सकते हैं।

हालांकि यह भी कहता है कि यह कस्टम इवेंट प्रदाताओं के लिए काम नहीं करेगा:

रखें विधानसभा जिसमें कस्टम प्रदाता कार्यान्वयन में एप्लिकेशन की बिन उपनिर्देशिका आप App_Code उपनिर्देशिका में प्रदाता स्रोत कोड फ़ाइल नहीं डाल सकते, क्योंकि स्वास्थ्य निगरानी प्रणाली को कॉन्फ़िगर किया गया और App_Code उपनिर्देशिका में किसी भी कोड फ़ाइलों से पहले संकलित किया जाता है।

मैं प्रलेखन अनुमान लगा रहा हूं कि कस्टम ईवेंट के बारे में वास्तव में गलत है और उन्हें वेब साइट से विशिष्ट रूप से अलग होना चाहिए।

(बस यहाँ अनुमान लगाने ...)

वेब साइट्स के लिए, App_Code में कक्षाएं रनटाइम तक संकलित नहीं होती हैं। MyWebErrorEvent को गतिशील रूप से संकलित होने का मौका मिला होने से पहले आपका Web.config संकलित किया जा रहा है। आपकी सबसे अच्छी शर्त वेब साइट से अलग से एक कक्षा पुस्तकालय बनाने और अपनी वेबसाइट से प्रोजेक्ट का संदर्भ देने के लिए है। एक अन्य विकल्प एक वेब अनुप्रयोग का उपयोग करने के लिए परिवर्तित करना है, जो वास्तव में सभी प्रकारों को संकलित समय पर एक DLL में रन-टाइम पर गतिशील रूप से उत्सर्जित करने के बजाय संकलित करता है।


Comments