मैं एक वेब एप्लिकेशन पर काम कर रहा हूं जो इवेंट व्यूअर के समान इवेंट लॉग डेटा दिखाता है। आवेदन को उपयोगकर्ताओं को इवेंट लॉग की सदस्यता लेने और वेब सेवा का उपयोग करके सब्स्क्राइब किए गए लॉग पर लिखित होने पर नोटिफिकेशन प्राप्त करने का तरीका भी प्रदान करना होगा। कॉलक्या यह बताने का कोई तरीका है कि कौन सा EventLog प्रविष्टि वर्जित घटना सी # में हुई?
EventLog eventLog = new EventLog(observer.logName, observer.machineName);
eventLog.EnableRaisingEvents = true;
eventLog.EntryWritten += new EntryWrittenEventHandler(eventLog_EntryWritten);
eventList.Add(eventLog);
मैं इवेंट लॉग के लिए ग्राहकों के रूप में पर्यवेक्षकों का उपयोग करने के कोशिश कर रहा हूँ, और एक EventWritten घटना नियंत्रित किया जाता है जब,:
मैं वेब सेवा में एक ईवेंट लॉग की सदस्यता के लिए इस कोड का उपयोग कर रहा हूँ एक पर्यवेक्षक की अद्यतन विधि। समस्या यह है कि, मुझे नहीं पता कि ईवेंट लॉग को कैसे अंतर किया जाए, क्योंकि वे सभी एक ही ईवेंट हैंडलर का उपयोग करते हैं। मैं ऐसा इसलिए कर रहा हूं क्योंकि इवेंट लॉग की संख्या एक मशीन से दूसरे में भिन्न होती है। साथ ही, मैं पर्यवेक्षकों को केवल एक प्रकार का इवेंटलॉग, यानी संभालना चाहता हूं। एप्लिकेशन लॉग में कोई ईवेंट लिखा जाने पर एक पर्यवेक्षक ई-मेल भेजेगा।
मैं वर्तमान कंप्यूटर पर सभी लॉग प्राप्त करने के लिए कोड की इस पंक्ति का उपयोग करें:
remoteEventLogs = EventLog.GetEventLogs(machineName);
EventWritten ईवेंट हैंडलर इस वस्तु इस पैरामीटर है, लेकिन दृश्य स्टूडियो EventLogInternal, जो मैं उपयोग नहीं कर सकते के रूप में अपने प्रकार से पता चलता , और मैं EventLog.Log प्रॉपर्टी प्राप्त करने के लिए प्रेषक को EventLog पर नहीं डाल सकता। अगर मैं यह कास्ट करने के लिए, इस तरह का प्रयास करें:
void eventLog_EntryWritten(object sender, EntryWrittenEventArgs e)
{
var log = (EventLog)sender;
}
मैं कह रहा इवेंटलॉग के लिए एक EventLogInternal डाली नहीं कर सकते हैं एक अपवाद मिलता है।
क्या यह जानने का कोई तरीका है कि कौन सा EventLog ईवेंट को सक्रिय करता है?
धन्यवाद
अच्छा अस्थायी रूप से हैक। नए नेट फ्रेमवर्क के साथ मुद्दा हो सकता है – Zam