asp.net中获取网站根目录和物理路径的方法

 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         }

猜你喜欢

转载自www.cnblogs.com/lgx5/p/12207451.html