.NET使用ServerManager获取网站物理路径

时间:2024-10-27 14:36:56

最近因为工作需要,用wpf做了一个辅助小工具,如下图

.NET使用ServerManager获取网站物理路径

为了获取网站的物理路径,我分析了通过ServerManager获取到的变量,也通过百度搜索了很多,但仍然没有找到方法。

后来使用必应,在国外网站找到了,不知道是不是没有正确的打开方式,所以经历如此曲折,下面我把获取物理路径的方法写下来供大家参考,希望对后人有所帮助。

 private string GetWebSitePhysicalPath(Site site)
{
var applicationRoot = site.Applications.Where(a => a.Path == "/").Single();
var virtualRoot = applicationRoot.VirtualDirectories.Where(v => v.Path == "/").Single();
string ret = virtualRoot.PhysicalPath;
string[] strList = ret.Split('%').Where(t => t != "%").ToArray();
ret = "";
for (int i = ; i < strList.Length; i++)
{
string sPath = Environment.GetEnvironmentVariable(strList[i].ToLower());
if (string.IsNullOrEmpty(sPath))
{
ret += strList[i];
}
else
{
ret += sPath;
}
}
return ret;
}

参考资料:

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