Fehler : System.IO.IOException: der Netzwerkpfad wurde nicht gefunden
wenn ich ausführen folgenden code, es ergibt sich ein Fehler bitte helfen Sie mir, diese zu lösen.
class MySample
{
public static void Main()
{
string eventLogName = "Security";
string sourceName = "BTHUSB";
string machineName = "v.i.com";
EventLog eventLog;
eventLog = new EventLog();
eventLog.Log = eventLogName;
eventLog.Source = sourceName;
eventLog.MachineName = machineName;
foreach (EventLogEntry log in eventLog.Entries.Cast<EventLogEntry>().Reverse())//Entries.Cast<EventLogEntry>().Reverse
{
Console.WriteLine(") Entry type: {0} , Category: {1}, Data: {2}, ID: {3}, Source: {4} \n", log.EntryType, log.TimeWritten, log.EventID, log.InstanceId, log.Source);
}
}
}
Fehler ist ,
Unhandled Exception: System.IO.IOException: The network path was not found. at Microsoft.Win32.RegistryKey.Win32ErrorStatic(Int32 errorCode, String str) at Microsoft.Win32.RegistryKey.OpenRemoteBaseKey(RegistryHive hKey, String ma chineName) at System.Diagnostics.EventLog.GetEventLogRegKey(String machine, Boolean writ able) at System.Diagnostics.EventLog.Exists(String logName, String machineName) at System.Diagnostics.EventLog.OpenForRead(String currentMachineName) at System.Diagnostics.EventLog.GetEntryAtNoThrow(Int32 index) at System.Diagnostics.EventLogEntryCollection.EntriesEnumerator.MoveNext() at System.Linq.Enumerable.<CastIterator>d__aa`1.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.<ReverseIterator>d__99`1.MoveNext() at event.MySample.Main() in E:\.net prep\.net examples\event\event\Program.cs :line 42
mir bitte helfen, diese zu lösen, in einem Feld Computername an, wie Sie die remote-Maschine, wenn Sie es haben v.i.com , aber das system name ist v nur.
haben Sie versucht, es zu tun, indem Sie so etwas wie
\\MachineName\$E` also is the folder name on that machine really
.net-Beispiele " können Sie die Reichweite der Maschine von Ihrem Computer von \\MachineName\$Drive
Weg..?InformationsquelleAutor Gomathipriya | 2013-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie sich Ihre stack-trace können Sie sehen, das scheitern geschieht, versuchen, öffnen Sie die remote-registry-Schlüssel.
Dies bedeutet, dass die "Remote-Registrierung" - Dienst läuft nicht auf dem Ziel-Rechner. Auf v.i.com öffnen Sie die "Dienste" der Systemsteuerung (Dienstleistungen.msc) und starten Sie den Dienst namens " "Remote-Registrierung".
Dieser service wird in der Regel eingestellt, um den Starttyp Manuell, so wird nicht automatisch gestartet. Wenn Sie brauchen, um zu konfigurieren, oder greifen Sie auf das Ereignisprotokoll aus der Ferne oft, legen Sie diese zum starten von Automatischen, so dass es immer verfügbar ist.
InformationsquelleAutor BrutalDev
Ich würde davon ausgehen, das machineName "Venus.InsTIL.com" die, die Sie angegeben haben ist nicht erreichbar über diesen Weg. Was ist der UNC-Pfad zu der Maschine? Haben Sie überprüft, die Maschine ist ansonsten erreichbar (ping, UNC-durchsuchen, Datei etc)?
InformationsquelleAutor RainbowFish
Welches Konto ist, dass code ausgeführt wird? Sie haben eventuell keine Berechtigung, um auf das Netzwerk zuzugreifen. Das hängt von der Konfiguration des web service.
Etwas anderes ist, dass neuere OS-Versionen erlauben keine streng lokale Konten Zugriff auf administrative Freigaben, die auf anderen Systemen, und das wird das Konto wieder.
die server, gehen Sie zu dem Ordner hochladen. Teilen Sie es heraus. Geben Sie die Identität der Anwendung (wenn Ihr eine web-site, verwenden Sie die app-pool-Identität. wenn die Freigabe auf einem anderen Computer als der Prozess, der muss auf die Freigabe erhalten, dann möchten Sie möglicherweise verwenden Sie ein Domänenkonto für den Anwendungspool) Berechtigungen für diesen Ordner.
InformationsquelleAutor
Ist es wahrscheinlich, dass Sie haben eine Verbindung zur anderen Maschine. Ich würde erwarten, dass der Fehler würde mehr so sein wie connection refused oder ungültige Anmeldeinformationen, wenn die Verbindung fehlgeschlagen ist. Die Tatsache, dass diese Ausnahme ist, passiert auf einer nächsten operation (siehe stack-trace) bedeutet, dass der code wurde mit dem Lesen der Liste, wenn es versucht zu Lesen, einen Eintrag, der nicht da war. Meine Vermutung ist, dass der Eintrag vorhanden gewesen wäre, wenn die
foreach
Befehl erstellt die Liste, aber nicht da bei der Iteration über die Liste. Ich vermute, das Problem ist, dass sich etwas verändert, die Daten auf Sie.InformationsquelleAutor Patrick O'Hara