Не удалось найти часть ошибки пути при запуске службы Windows после установки - PullRequest
0 голосов
/ 10 октября 2018

У меня есть machine 1, где у меня есть папка общего доступа,

`\\Machine1HostName\Share`

, и внутри нее у нас есть папка Files.

Теперь я смонтирован над папкой в ​​machine 2 с указанным ниже путем,

Z:\Files

У меня window servive работает в machine 2, где я пытаюсь получить файлы по пути Z:\Files.

var sourceFiles = Directory.GetFiles(@"Z:\Files").Select(f => new FileInfo(f));

Когда я запускаю window servive в качестве режима отладки в качестве консольного приложения, то ошибки нет, но при установке и попытке запуска с учетной записью local system появляется ошибка ниже,

Exception - Could not find a part of the path 'Z:\Files'.

Вот трассировка полного стека,

Exception -    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.GetFiles(String path)
   at ConsoleApp6.ConverterService.Start() in C:\Users\source\repos\ConsoleApp6\ConsoleApp6\ConverterService.cs:line 19

Примечание. Если я изменяю путь с "Z:\Files" на "\\Machine1HostName\Share\\Files", то возникает ошибка NO , еслизапуск службы под локальной системной учетной записью.

var sourceFiles = Directory.GetFiles(@"\\Machine1HostName\Share\\Files").Select(f => new FileInfo(f));

1 Ответ

0 голосов
/ 10 октября 2018

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

Вам не нужно монтировать что-либо, а вместо этого просто получить доступ к общим ресурсам напрямую с помощью пути unc, например: \\ somemachine \ somefolder

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...