可恶的路径
取得程序的路径?看起来这貌似不是啥问题,以前也没怎么注意,今天研究了一下才发现.NET中有一大堆获得程序相关路径的方法。
这里简单比较一下,免得再搞混了。。。
对于控制台或者窗体程序来说:
代码
1 // 结果:xxx\bin\Debug
2 Console.WriteLine(Application.StartupPath);
3 Console.WriteLine(Environment.CurrentDirectory);
4 Console.WriteLine(Directory.GetCurrentDirectory());
5
6 // 结果:xxx\bin\Debug\
7 Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory);
8 Console.WriteLine(System.Threading.Thread.GetDomain().BaseDirectory);
9
10 // 结果:xxx\bin\Debug\xxx.exe
11 Console.WriteLine(Application.ExecutablePath);
12
对于Web程序:
代码
1 protected void Page_Load(object sender, EventArgs e)
2 {
3 // 结果:/
4 Response.Write(Request.ApplicationPath + "<br/>");
5
6 // 结果:/xxx.aspx
7 Response.Write(Request.CurrentExecutionFilePath + "<br/>");
8 Response.Write(Request.FilePath + "<br/>");
9 Response.Write(Request.Path + "<br/>");
10
11 // 结果:http://localhost:3542/xxx.aspx
12 Response.Write(Request.Url.AbsoluteUri + "<br/>");
13 Response.Write(Request.Url.OriginalString + "<br/>");
14
15 // 结果:文件夹路径\
16 Response.Write(Request.PhysicalApplicationPath + "<br/>");
17
18 // 结果:文件夹路径\xxx.aspx
19 Response.Write(Request.PhysicalPath + "<br/>");
20 Response.Write(Request.RawUrl + "<br/>");
21 Response.Write(Request.Url.AbsolutePath + "<br/>");
22 Response.Write(Request.Url.LocalPath + "<br/>");
23 Response.Write(Request.Url.PathAndQuery + "<br/>");
24
25 // 结果:localhost
26 Response.Write(Request.Url.Host + "<br/>");
27 }
28
哎。。。有点晕,主要是好些属性或方法得到的结果是一样的,真不知MS用意何在。。。?
whatever,记住就ok了。。。
作者:Rocky翔
出处:http://www.cnblogs.com/RockyMyx/
本文版权归作者和博客园共有,欢迎转载,但请在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/RockyMyx/
本文版权归作者和博客园共有,欢迎转载,但请在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。