1. 程式人生 > >.NET使用ServerManager獲取網站物理路徑

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

cto sin span code direct virt 通過 server 幫助

最近因為工作需要,用wpf做了一個輔助小工具,如下圖

技術分享圖片

為了獲取網站的物理路徑,我分析了通過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 }

參考資料:

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

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