.NET使用ServerManager獲取網站物理路徑

最近由於工做須要,用wpf作了一個輔助小工具,以下圖app

爲了獲取網站的物理路徑,我分析了經過ServerManager獲取到的變量,也經過百度搜索了不少,但仍然沒有找到方法。工具

後來使用必應,在國外網站找到了,不知道是否是沒有正確的打開方式,因此經歷如此曲折,下面我把獲取物理路徑的方法寫下來供你們參考,但願對後人有所幫助。網站

 1 private string GetWebSitePhysicalPath(Site site)
 2         {
 4             var applicationRoot = site.Applications.Where(a => a.Path == "/").Single();
 5             var virtualRoot = applicationRoot.VirtualDirectories.Where(v => v.Path == "/").Single();
 6             string ret = virtualRoot.PhysicalPath;
 7             string[] strList = ret.Split('%').Where(t => t != "%").ToArray();
 8             ret = "";
 9             for (int i = 0; i < strList.Length; i++)
10             {
11                 string sPath = Environment.GetEnvironmentVariable(strList[i].ToLower());
12                 if (string.IsNullOrEmpty(sPath))
13                 {
14                     ret += strList[i];
15                 }
16                 else
17                 {
18                     ret += sPath;
19                 }
20             }
21             return ret;
22         }

 

參考資料:spa

[1]https://stackoverflow.com/questions/5431703code

相關文章
相關標籤/搜索