最近由於工做須要,用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