【问题标题】:difference in physical path, root path, virtual path, relative virtual path, application path and absolute path?物理路径、根路径、虚拟路径、相对虚拟路径、应用程序路径和绝对路径的区别?
【发布时间】:2012-12-13 22:43:27
【问题描述】:

我在理解 .Net 中资源可用的各种路径有什么不同时有些困惑。

我只猜物理路径是资源的操作系统目录路径。我很困惑,事件无法告诉我基本上需要使用什么路径。

【问题讨论】:

    标签: asp.net .net asp.net-3.5


    【解决方案1】:

    关于 ASP.NET 应用程序,我是这样想的:

    物理路径: 使用驱动器/目录/文件的操作系统路径,其中实际应用程序并没有真正使用此路径,但如果使用了,它将使用虚拟路径进行映射。物理路径是操作系统定位资源的方式 即:c:\\inetpub\wwwroot\aspnetapp 实际应用只关心相对于其根目录的路径。

    根路径:这将是您的 aspnetapp 或 ~/Home/Index 根处的 URI 或 URL,并带有正确的路由配置(不要与 Unix 根目录命名约定混淆)。 http://www.yardpenalty.com 实际上可能是本示例的物理路径的位置(就 OS/NOS 而言)。

    虚拟路径或相对虚拟路径:应用程序从其 Web 服务器识别或被识别的路径。

    例如,在 IIS(或 OWIN)中,您的图像资源目录可能位于文件夹 c:\\inetpub\ftp\images 中,但开发人员将此文件夹映射到应用程序,如下所示...~\Images。因此,可以将其视为一种能力,即创建一个相对路径,指向您的应用及其用户在物理上位于其他地方时可识别的资源。

    我想,当开发人员希望在单个域下提供一个或多个项目的外观时,在根应用程序下使用虚拟路径将有助于开发。

    绝对路径:资源的完整路径。 假设您有一个链接可以将您带到这样的特定路线: <a href="http://www.yardpenalty.com/home/about"> About</a>。如果此链接位于布局或母版页中,则相对路径 <a href="~/home/about">About</a> 会更清晰。在某些情况下,您需要对绝对路径进行硬编码,但使用相对路径通常更明智,尤其是在开发涉及迁移时。

    【讨论】:

      【解决方案2】:

      当前工作目录的相对路径 - 有时您可以找到类似./Directory/Filename.Ext 格式的路径描述,这意味着该路径是相对于当前应用程序工作目录指定的。

      【讨论】:

        猜你喜欢
        • 2011-08-30
        • 1970-01-01
        • 2013-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        相关资源
        最近更新 更多