Я испытываю следующее странное поведение:
Служба C# не может выполнить какие-либо операции на локальном диске D: (например, проверить, существует ли каталог), в то время как консольная версия, обертывающая ту же сборку, не имеет никаких проблем. Оба работают под одной и той же учетной записью пользователя, которая является членом локальной группы администраторов. При интерактивном входе в систему у этого же пользователя также нет проблем с доступом к диску D: \ с помощью проводника Windows.
Вставка следующего диагностического кода:
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
string label = drive.IsReady ? String.Format(" - {0}", drive.VolumeLabel) : " - drive not ready";
string driveMessage = string.Format("Drive {0} - {1}{2}", drive.Name, drive.DriveType, label);
EventLog.WriteEntry("NxG SiteService", driveMessage, EventLogEntryType.Information);
}
показывает, что диск D: является фиксированным диском, который "не готов"?
Может кто-нибудь объяснить мне, почему фиксированный диск может быть «не готов» при доступе из службы?
Среда: Windows 2012 Server, работающая на хосте VMWare ESXi v. 5.5.0