B-Arts DocumentationIndice generale

BNetUse - Esempi

Individuazione di una lettera libera

using B.BNet;

string driveLetter = BNetUse.GetFreeDriveLetter();
if (driveLetter == "")
{
  throw new InvalidOperationException("Nessuna lettera di unità disponibile.");
}

bool alreadyUsed = BNetUse.DriveExists(driveLetter);

Mapping di una condivisione Windows

string driveLetter = BNetUse.GetFreeDriveLetter();

BNetUse.MapNetworkDrive(
  @"\\fileserver\releases",
  driveLetter,
  domainUsername,
  password);

try
{
  string mappedRoot = $"{driveLetter}:\\";
  // Usare l'unità mappata.
}
finally
{
  BNetUse.MapNetworkDriveDelete(driveLetter);
}

Questi metodi eseguono cmd.exe /C net use e attendono la conclusione del processo: sono specifici di Windows. Non restituiscono l'exit code e non catturano gli errori del comando; verificare il mapping con DriveExists quando il flusso applicativo richiede conferma.

Le credenziali vengono inserite negli argomenti del processo. Devono provenire dalla configurazione sicura dell'applicazione e non essere scritte nel codice o nei log.