可恶的路径

  取得程序的路径?看起来这貌似不是啥问题,以前也没怎么注意,今天研究了一下才发现.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/
本文版权归作者和博客园共有,欢迎转载,但请在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2010-05-03 11:04  RockyXiang  阅读(196)  评论(0编辑  收藏  举报