zoukankan      html  css  js  c++  java
  • 【转】[.Net] 确定当前网站的物理文件路径

    确定当前网站的物理文件路径

    在应用程序中,您可能需要确定服务器上的文件或其他资源的路径。例如,如果应用程序以编程方式对文本文件进行读写操作,则必须为用于读取和写入的方法提供该文件的完整物理路径。

    将物理文件路径(如 C:WebsiteMyApplication)硬编码到应用程序中并不是很好的做法,因为如果移动或部署应用程序,则路径会发生更改。但是,ASP.NET 为您提供了以编程方式获取应用程序中的任何物理文件路径的方法。然后,您可以使用基文件路径创建所需资源的完整路径。用于确定文件路径的两种最常用的 ASP.NET 功能是返回路径信息的 HttpRequest 对象的属性,以及 MapPath 方法。

    注意: 不应将物理文件路径发送到客户端,因为它们可能会被恶意用户用来获取有关您的应用程序的信息。

    下表列出了 HttpRequest 对象的属性,这些属性帮助您确定应用程序中的资源的路径。

    下面的示例假定使用以下 URL 来发出浏览器请求:

    http://www.contoso.com/MyApplication/MyPages/Default.aspx 对于这些示例,术语“虚拟路径”是指跟在服务器标识符后面的请求 URL 的一部分,此时虚拟路径如下所示:

    /MyApplication/MyPages/Default.aspx 此外,这些示例假定网站根目录的物理路径为以下形式:

    C:inetpubwwwrootMyApplication 最后,这些示例假定物理路径包含一个名为 MyPages 的文件夹。

    属性说明

    ApplicationPath

    获取当前应用程序的根目录路径,无论在该应用程序中的什么位置请求该路径。对于此示例,该属性将返回以下内容:

    /

    CurrentExecutionFilePath

    获取当前请求的虚拟路径。不同于 FilePath,差别在于如果请求已在服务器代码中被重定向,则 CurrentExecutionFilePath 就是正确的。对于此示例,该属性将返回以下内容:

    /MyApplication/MyPages/Default.aspx

    如果作为对 Transfer 或 Execute 进行调用的结果,您获取正在运行的代码中的属性,则路径将反映该代码的位置。

    FilePath

    获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容:

    /MyApplication/MyPages/Default.aspx

    不同于 CurrentExecutionFilePath,FilePath 不反映服务器端转换。

    Path

    获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容:

    /MyApplication/MyPages/default.aspx

    PhysicalApplicationPath

    获取当前正在执行的应用程序的根目录的物理文件系统路径。对于此示例,该属性将返回以下内容:

    C:inetpubwwwroot

    PhysicalPath

    获取与请求的 URL 对应的物理文件系统路径。对于此示例,该属性将返回以下内容:

    C:inetpubwwwrootMyApplicationMyPagesdefaul

    MapPath 方法返回传递给该方法的虚拟路径的完整物理路径。例如,以下代码返回网站根目录的文件路径:

    String rootPath = Server.MapPath("~");

  • 相关阅读:
    vue-指令
    VueMusic-14搜索实现
    VueMusic-13歌手列表
    VueMusic-12歌词滚动
    VueMusic-11播放-歌词适配
    VueMusic-10.播放-歌词加载
    VueMusic-9.播放-播放功能
    VueMusic-8更多-下拉刷新
    VueMusic-7更多-数据适配
    VueMusic-6首页-热门榜单
  • 原文地址:https://www.cnblogs.com/summer_adai/p/3570962.html
Copyright © 2011-2022 走看看