以编程方式检索ASP.NET应用程序中的IIS日志文件位置

Sle*_*ron 7 asp.net iis wmi

我正在尝试确定ASP.NET应用程序的IIS日志文件位置的位置.我试过WMI,但是找不到它.有什么建议?

注意:我希望能够以编程方式检索位置; 在我的申请中进一步使用.编辑:这是我的代码:这有效,但没有给我日志的实际物理目录位置.所以这基本上没用.

ManagementPath p2=new ManagementPath("IIsLogModule.Name='logging/Microsoft IIS Log File Format'");
ManagementObject log = new ManagementObject(scope, p2, objectGet);
log.Get();
logPath.Text = log["__PATH"].ToString();
Run Code Online (Sandbox Code Playgroud)

Ant*_*ula 5

在IIS7上你可以使用Microsoft.Web.Administration程序集,Site类有一个名为LogFile的属性,你可以获得有关站点日志文件的各种信息,例如可以使用以下代码获取日志文件目录:

  ServerManager manager = new ServerManager();
  Site mySite = manager.Sites["SiteName"];
  Response.Write("Log file directory : " + mySite.LogFile.Directory + "\\W3svc" + mySite.Id.ToString());
Run Code Online (Sandbox Code Playgroud)

我不太喜欢网站目录前缀的硬编码部分,但没有找到任何其他更好的方法