0

我尝试了两种不同的代码来获取我的 VPS 上的 C 盘磁盘空间,它们如下:

System.IO.DriveInfo di = new System.IO.DriveInfo("C");
Console.WriteLine(di.TotalFreeSpace);

另一个是

using System;
using System.Management;

public string GetFreeSpace();
{ 
    ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
    disk.Get();
    string freespace = disk["FreeSpace"];
    return freespace;
}

现在这些代码在 localhost 上运行良好,但是,每当我在 ASP.Net (FW4) 应用程序下运行它们时,W3WP.exe 崩溃并且 IIS 技术上会自动重新启动。

有没有办法在不使 W3WP.exe 崩溃的情况下获得我的 VPS 上的磁盘空间?

我正在使用来自 GoDaddy 的 IIS 7.5 和 Windows Server 2008 R2 Standard

任何帮助表示赞赏:)

4

1 回答 1

0

我认为您必须在不同的用户而不是默认的 AppPoolIdentity 用户下运行 AppPool,因为它可能没有足够的权限来访问此信息。

于 2014-08-10T11:24:47.017 回答