Я использую c # для создания службы Windows, которая находит новые zip-файлы на сетевом диске и распаковывает их в локальный каталог.Я использую Map Network Drive API , чтобы выполнить сопоставление.Сначала я вызываю функцию карты, и если это не удается, я отключаю диск и пытаюсь переназначить диск снова.Ошибки:
- mapDrive () «имя локального устройства уже используется», затем попробуйте
- unmapDrive () «Это сетевое соединение не существует»
private bool unmapDrive()
{
try
{
NetworkDrive oNetDrive = new aejw.Network.NetworkDrive();
oNetDrive.LocalDrive = driveLetter;
oNetDrive.Force = true;
oNetDrive.ShareName = @"\\IPADDRESS\LogFiles";
oNetDrive.UnMapDrive();
return true;
}
catch(Exception e)
{
Log(e.Message);
return false;
}
}
private bool mapDrive()
{
try
{
NetworkDrive oNetDrive = new aejw.Network.NetworkDrive();
oNetDrive.LocalDrive = driveLetter;
//oNetDrive.SaveCredentials = true;
oNetDrive.ShareName = @"\\IPADDRESS\LogFiles";
oNetDrive.PromptForCredentials = true;
oNetDrive.MapDrive();
return true;
}
catch(Exception e)
{
Log(e.Message);
return false;
}
}
они называются так
if (!mapDrive())
{
unmapDrive();
if (!mapDrive())
{
//if drive cannot be mapped, program will not work
Log("Discoverer has failed to map drive, shutting down");
this.Stop();
}
}