道德标志的意义

时间:2012-10-20 09:11:22

标签: asp.net file-upload

string path = context.Server.MapPath("~/Temp");

string path = context.Server.MapPath("/Temp");

是一样的吗?

我知道'〜'代表root,但想知道diff bw ~/folder/folder

1 个答案:

答案 0 :(得分:9)

  

服务器控件中的绝对和相对路径引用具有   以下缺点:

     
      
  • 绝对路径在应用程序之间不可移植。如果你动了   绝对路径指向的应用程序,链接将中断。

  •   
  • 客户元素风格的相对路径可能很难   如果您将资源或页面移动到不同的文件夹,请进行维护。

  •   
     

为了克服这些缺点,ASP.NET包含Web应用程序   root运算符(〜),可以在服务器中指定路径时使用   控制。 ASP.NET将〜运算符解析为当前的根   应用

请参阅http://msdn.microsoft.com/en-us/library/ms178116(v=vs.100).aspx

~/解析为应用程序根目录。

/解析为网站根目录。

当呈现服务器资源(如控件或视图)时,~/路径将根据应用程序的结构和上下文解析为站点根路径(因为~/对于Web无意义浏览器)。

为了简化,应用程序根目录(~/)几乎总是ASP.Net应用程序(Web表单和MVC)中的正确选择。