2012-03-05 14 views
101

मुझे निम्न अपवाद मिल रहा है। मैंने रजिस्ट्री संपादन में Eventlogs पर Asp.net खाते पर पूर्ण नियंत्रण दिया है।स्रोत नहीं मिला था, लेकिन कुछ या सभी ईवेंट लॉग की खोज नहीं की जा सकी

[सुरक्षा अपवाद: स्रोत नहीं मिला था, लेकिन कुछ या सभी घटना लॉग खोज नहीं की जा सकीं। दुर्गम लॉग्स:। सुरक्षा]

System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate) +664 
System.Diagnostics.EventLog.SourceExists(String source, String machineName, Boolean wantToCreate) +109 
System.Diagnostics.EventLog.SourceExists(String source) +14 Microsoft.ApplicationBlocks.ExceptionManagement.DefaultPublisher.VerifyValidSource() +41 

मैं इस अनुमान सर्वर पर कुछ कॉन्फ़िगरेशन समस्या की वजह से है?

+0

संभावित डुप्लिकेट [System.Security.SecurityException जब ईवेंट लॉग करने के लिए लिख] (http://stackoverflow.com/questions/1274018/system-security-securityexception- जब-लेखन-टू-इवेंट-लॉग) –

उत्तर

91

EventLog.SourceExistsHKLM\SYSTEM\CurrentControlSet\services\eventlog की उपकुंजियों के माध्यम से उल्लिखित यह देखने के लिए कि इसमें निर्दिष्ट नाम के साथ उपकुंजी है या नहीं। यदि उपयोगकर्ता खाता जिसके तहत कोड चल रहा है, उसमें उपशीर्षक तक पहुंच नहीं है, जो लक्ष्य स्रोत खोजने से पहले (आपके मामले में, Security उपकुंजी) तक पहुंचने का प्रयास करता है, तो आपको एक अपवाद दिखाई देगा जैसा आपने वर्णित किया है।

ऐसे मुद्दों को संभालने के लिए सामान्य दृष्टिकोण register event log sources स्थापना समय (व्यवस्थापक खाते के तहत) पर है, तो मान लें कि वे रनटाइम पर मौजूद हैं, किसी भी परिणामी अपवाद को अप्रत्याशित रूप से माना जा सकता है यदि कोई लक्ष्य ईवेंट लॉग स्रोत वास्तव में नहीं है रनटाइम पर मौजूद है।

+23

विंडोज 8 पर, ऐसा लगता है कि जब भी यूएसी अक्षम हो जाता है और उपयोगकर्ता प्रशासक होता है, तब भी वीएस को व्यवस्थापक के रूप में चलाने के लिए आवश्यक है। यह मेरे मामले – itsho

+1

पर समाधान है मेरे लिए, एप्लिकेशन को केवल पहली बार व्यवस्थापक के रूप में चलाने के लिए पर्याप्त था। उसके बाद, ईवेंट स्रोत बनाया गया था और एप्लिकेशन ठीक काम करता था। – thomaskonrad

+1

यह एक उदाहरण है कि विंडोज़ ओएस –

6

डेवलपर कमांड लाइन लॉन्च करें "एक व्यवस्थापक के रूप में"। इस खाते में सुरक्षा लॉग

52

पर एक ही अपवाद था। मेरे मामले में, मुझे व्यवस्थापक अधिकारों के साथ कमांड प्रॉम्प्ट चलाया गया था।

प्रारंभ मेनू से, कमांड प्रॉम्प्ट पर राइट क्लिक करें, "व्यवस्थापक के रूप में चलाएं" का चयन करें।

+1

में एम्बेडेड टूल्स का उपयोग करके कैसे हतोत्साहित करते हैं मेरा परिदृश्य विजुअल स्टूडियो 2015 को व्यवस्थापक के रूप में चलाने के लिए है। (एक वेब एपीआई प्रोजेक्ट कर रहा है।) –

8

मेरे लिए यह त्रुटि कमांड प्रॉम्प्ट के कारण थी, जो व्यवस्थापकीय विशेषाधिकारों के तहत नहीं चल रहा था। आपको कमांड प्रॉम्प्ट पर राइट क्लिक करना होगा और "व्यवस्थापक" के रूप में चलाएं।

आपको किसी सेवा को स्थापित या अनइंस्टॉल करने के लिए व्यवस्थापक भूमिका की आवश्यकता है।

+0

मैं लगभग 2 घंटे के लिए झुका रहा था, धन्यवाद दोस्त! –

4

मेरे लिए काम नहीं किया।

मैं एक नया कुंजी और स्ट्रिंग मान बनाया है और

Key= HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\<Your app name>\ 
String EventMessageFile value=C:\Windows\Microsoft.NET\Framework\v2.0.50727\EventLogMessages.dll 
+0

मैंने वही किया। मैंने अभी स्रोत नाम के साथ एक नई कुंजी बनाई है जिसका उपयोग मैं अपने आवेदन के अंदर कर रहा हूं और यह काम करता है। – Campinho

0

काम कर इसे पाने के लिए मुझे सिर्फ iisreset (व्यवस्थापक के रूप में चलाने के cmd -> iisreset) काम के लिए कामयाब रहे। शायद कोई इसे आज़मा सकता है।

0

यदि आप आईआईएस (स्रोत कोड से, वेबपीआई नहीं) पर सेंसनेट टास्क प्रबंधन वेबसाइट का एक नया इंस्टॉल कर रहे हैं, तो आपको यह संदेश आमतौर पर सिग्नल संचार से संबंधित होगा। @nicole-caliniou points out, के रूप में यह रजिस्ट्री में एक महत्वपूर्ण खोज के कारण है जो विफल रहता है।

सेंसनेट टास्क प्रबंधन v1.1.0 के लिए इसे हल करने के लिए, पहले web.config फ़ाइल में रजिस्ट्री कुंजी नाम ढूंढें। डिफ़ॉल्ट रूप से यह "SnTaskWeb" है।

<appSettings> 
    <add key="LogSourceName" value="SnTaskWeb" /> 

ओपन रजिस्ट्री संपादक, regedit.exe, और HKLM\SYSTEM\CurrentControlSet\Services\EventLog\SnTask पर जाएँ। SnTask पर राइट-क्लिक करें और New Key का चयन करें, और ऊपर दिखाए गए कॉन्फ़िगरेशन के लिए कुंजी SnTaskWeb का नाम दें। फिर SnTaskWeb तत्व पर राइट-क्लिक करें और New Expandable String Value चुनें।नाम EventMessageFile होना चाहिए और मान डेटा C:\Windows\Microsoft.NET\Framework\v4.0.30319\EventLogMessages.dll होना चाहिए।

कीवर्ड: signalr, sensenet, regedit, अनुमतियाँ

की