2013-02-08 5 views
2

, когда я выполняю следующий код, возникает ошибка, пожалуйста, помогите мне решить эту проблему.Ошибка: System.IO.IOException: сетевой путь не найден

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); 
} 
} 
} 

Ошибка,

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 

Пожалуйста, помогите мне решить эту проблему, в поле Имя машины, как войти в удаленную машину, когда она есть VICOM, но это имя системы только v.

+0

Вы пытались сделать это с помощью чего-то типа '\\ MachineName \ $ E \' также имя папки на этой машине действительно '.net examples \' вы можете добраться до машины с вашего компьютера на '\\ MachineName \ $ Путь Диск ..? – MethodMan

ответ

0

В какой учетной записи работает код? У него может не быть доступа к сети. Это будет зависеть от конфигурации веб-службы.

Что-то еще в том, что последние версии ОС не позволяют строго локальным учетным записям получать доступ к общим ресурсам администрирования в других системах, и это будет учетная запись снова.

+0

подключен удаленный хост, как я могу проверить его с помощью кода C# – Gomathipriya

+0

сервера, перейдите в папку для загрузки. Поделитесь этим. Укажите личность своего приложения (если его веб-сайт использует идентификатор пула приложений. Если общий ресурс находится на другой машине, чем процесс, который должен получить доступ к общему ресурсу, то вы можете использовать учетную запись домена для своего приложения пул) для этой папки. –

2

Я бы предположил, что указанное имя машины «Venus.InsTIL.com» не указано через этот путь. Каков путь UNC к машине? Вы проверили, что машина в противном случае является контактной (ping, просмотр файлов UNC и т. Д.)?

14

Если вы посмотрите на трассировку стека, вы увидите, что произошел сбой при попытке открыть удаленный ключ реестра.

Это значит, что на целевом компьютере служба Remote Registry не работает. На v.i.com откройте панель управления услугами (services.msc) и запустите услугу под названием Удаленный реестр.

Эта служба, как правило, настроена на запуск типа запуска вручную, поэтому не запускается автоматически. Если вам необходимо настроить или получить доступ к журналу событий удаленно часто, установите для этого значение «Автоматически», чтобы он всегда был доступен.

+0

У меня такая же ошибка, но это исправление не сработало для меня. – jonas

0

Скорее всего, вы подключились к другой машине. Я ожидал бы, что ошибка будет больше похожа на отказ соединения или недопустимые учетные данные, если соединение не удалось. Тот факт, что это исключение происходит при следующей операции (см. Трассировку стека), подразумевает, что код читал список, когда он пытался прочитать запись, которой там не было. Я предполагаю, что запись была там, когда команда foreach создала свой список, но не там, когда итерация по списку. Я подозреваю, что проблема в том, что что-то меняет данные на вас.