开发者

ServerManager How to get site's physical path on disk?

How I can get physical path of site on a disk ?

using (ServerManager serverMan开发者_开发技巧ager = new ServerManager()) { 

var sites = serverManager.Sites; 
foreach (Site site in sites) { 
         Console.WriteLine(site.Name); // This will return the WebSite name
        //but how i get it's path on disc ??????

}


ServerManager m = new ServerManager();  
m.Sites["default web site"].Applications["/"].VirtualDirectories["/"].PhysicalPath;

basically every site has a "root application" which must have a "root virtual directory".


To improve a bit what others wrote, remember if you have multiple application pools pr site you get multiple directories.

using (var iisManager = new ServerManager())
{
    SiteCollection sites = iisManager.Sites;
    foreach (var site in sites)
    {
        Console.WriteLine(site.Name);
        
        foreach(var app in site.Applications)
        {
              foreach (var virt in app.VirtualDirectories)
              {
                Console.WriteLine(site.Name);
              }
        }
    }
}


Use the following code to get path

using (ServerManager serverManager = new ServerManager()) 
{ 

    var sites = serverManager.Sites; 
    foreach (Site site in sites) 
    { 

        foreach (Application app in site.Applications)
        {
            Console.WriteLine("path: {0}", app.Path);
        }
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜