System.SecurityException Fehler
wenn ich kompilieren Sie den folgenden code es zeigt die Fehler als system.securityexception Fehler.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Threading;
namespace eventlog
{
class MySample{
public static void Main(){
if(!EventLog.SourceExists("MySource"))
{
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("CreatedEventSource");
Console.WriteLine("Exiting, execute the application a second time to use the source.");
return;
} EventLog myLog = new EventLog();
myLog.Source = "MySource";
myLog.WriteEntry("Writing to event log.");
}
}
}
wie um diesen Fehler zu beheben
Ich kopierte den code und kompiliert und läuft gut. Was sind die details der Ausnahme?
Unbehandelte Ausnahme: System.Sicherheit.SecurityException: Die Quelle wurde nicht gefunden , aber einige oder alle Ereignisprotokolle konnten nicht durchsucht werden. Unzugänglich Protokolle: Sicherheit . System.Diagnostik.EventLog.FindSourceRegistration(String source, String m achineName, Boolean readOnly) bei System.Diagnostik.EventLog.SourceExists(String source, String machineName ) bei eventlog.MySample.Main() in E:\.net prep\.net Beispiele\eventlog\eventlog\P rogram.cs:Zeile 13 Die Zone der assembly, die gescheitert ist: MyComputer Drücken Sie eine beliebige Taste, um fortzufahren . . .
bitte schauen Sie auf diese Frage stackoverflow.com/questions/3622396/...
Unbehandelte Ausnahme: System.Sicherheit.SecurityException: Die Quelle wurde nicht gefunden , aber einige oder alle Ereignisprotokolle konnten nicht durchsucht werden. Unzugänglich Protokolle: Sicherheit . System.Diagnostik.EventLog.FindSourceRegistration(String source, String m achineName, Boolean readOnly) bei System.Diagnostik.EventLog.SourceExists(String source, String machineName ) bei eventlog.MySample.Main() in E:\.net prep\.net Beispiele\eventlog\eventlog\P rogram.cs:Zeile 13 Die Zone der assembly, die gescheitert ist: MyComputer Drücken Sie eine beliebige Taste, um fortzufahren . . .
bitte schauen Sie auf diese Frage stackoverflow.com/questions/3622396/...
InformationsquelleAutor Gomathipriya | 2013-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie müssen Admin-Berechtigungen für das erstellen der neuen EventLog.
1. Mit Manifest-Datei (msdn.microsoft.com/en-us/library/bb756929.aspx) - 2. Rechtsklick auf die Exe-Datei (als Administrator Ausführen) 3. Verknüpfung zur exe-Datei-Eigenschaft der Verknüpfung (Ausführen als Administrator)
Prüfen Sie bitte auch diesen link (stackoverflow.com/questions/227187/...)
sorry, downvote, aber Ihre Antwort ist irreführend. schreiben Sie die EventLog-ohne Admin-Rechte. Sie können nicht einfach tun, was sein code-Beispiel kommt ohne admin-Rechte. Siehe meine "Antwort" (die ich kenne, nicht vollständig zu beantworten, wie das zu tun, was er will, ohne admin-Rechte, aber ist das eine Lösung für jemanden, der will nur schreiben)
Haben Sie gelesen: das ERSTELLEN nicht schreiben. Probieren Sie selbst, erstellen Sie ein NEUES EventLog-ohne Admin-Berechtigungen.... Und durch die Art und Weise dies kein Rennen ist, kann jeder post eine Antwort, kann dazu beitragen, die Lösung.
InformationsquelleAutor Max
Lesen Sie diesen Artikel: http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx
Dass ist der Grund, warum jeder sagt, nicht schreiben zu eventlog mit dem Identitätswechsel. Sie haben, um die Benutzer oder eine Gruppe in der lokalen Gruppe "Administrator" whitch ist nicht ratsam.
Der service-Benutzer über diese Berechtigung.
InformationsquelleAutor Péter
Deutlicher der rechten Maustaste auf die Anwendung (exe) und wählen Sie "als Administrator Ausführen"
InformationsquelleAutor MacGyver