Вы можете вызвать GetDiskFreeSpace API, чтобы узнать свободное место на диске:
public static decimal GetAvailableSpaceInBytes(string path)
{
uint sectorsPerCluster;
uint bytesPerSector;
uint numberOfFreeClusters;
uint totalNumberOfClusters;
GetDiskFreeSpace(path, out sectorsPerCluster, out bytesPerSector, out numberOfFreeClusters, out totalNumberOfClusters);
long bytes = (long)numberOfFreeClusters * sectorsPerCluster * bytesPerSector;
return bytes;
}
[DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
private static extern bool GetDiskFreeSpace(
string lpRootPathName,
out uint lpSectorsPerCluster,
out uint lpBytesPerSector,
out uint lpNumberOfFreeClusters,
out uint lpTotalNumberOfClusters);
Имейте в виду, что служба приложений установит квоты для папок, используемых веб-приложением, а запрос GetDiskFreeSpace вернет бесплатное пространство в контексте квот веб-приложения.
Это интересно знать только для доступных для записи папок для данного Azure веб-приложения службы приложений.