1 /// <summary> 2 /// 取得网站的根目录的URL 3 /// </summary> 4 /// <returns></returns> 5 public static string GetRootURI() 6 { 7 string AppPath = ""; 8 HttpContext HttpCurrent = HttpContext.Current; 9 HttpRequest Req; 10 if (HttpCurrent != null) 11 { 12 Req = HttpCurrent.Request; 13 14 string UrlAuthority = Req.Url.GetLeftPart(UriPartial.Authority); 15 if (Req.ApplicationPath == null || Req.ApplicationPath == "/") 16 //直接安装在 Web 站点 17 AppPath = UrlAuthority; 18 else 19 //安装在虚拟子目录下 20 AppPath = UrlAuthority + Req.ApplicationPath; 21 } 22 return AppPath; 23 } 24 /// <summary> 25 /// 取得网站的根目录的URL 26 /// </summary> 27 /// <param name="Req"></param> 28 /// <returns></returns> 29 public static string GetRootURI(HttpRequest Req) 30 { 31 string AppPath = ""; 32 if (Req != null) 33 { 34 string UrlAuthority = Req.Url.GetLeftPart(UriPartial.Authority); 35 if (Req.ApplicationPath == null || Req.ApplicationPath == "/") 36 //直接安装在 Web 站点 37 AppPath = UrlAuthority; 38 else 39 //安装在虚拟子目录下 40 AppPath = UrlAuthority + Req.ApplicationPath; 41 } 42 return AppPath; 43 } 44 /// <summary> 45 /// 取得网站根目录的物理路径 46 /// </summary> 47 /// <returns></returns> 48 public static string GetRootPath() 49 { 50 string AppPath = ""; 51 HttpContext HttpCurrent = HttpContext.Current; 52 if (HttpCurrent != null) 53 { 54 AppPath = HttpCurrent.Server.MapPath("~"); 55 } 56 else 57 { 58 AppPath = AppDomain.CurrentDomain.BaseDirectory; 59 if (Regex.Match(AppPath, @"\$", RegexOptions.Compiled).Success) 60 AppPath = AppPath.Substring(0, AppPath.Length - 1); 61 } 62 return AppPath; 63 }