18

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

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

4

2 回答 2

13

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

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

根路径:这将是您的 aspnetapp 根目录中的 URI 或 URL,或者~/Home/Index具有正确的路由配置(不要与 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>会更清晰。在某些情况下,您需要对绝对路径进行硬编码,但使用相对路径通常更明智,尤其是在开发涉及迁移时。

于 2015-07-29T04:49:19.127 回答
1

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

于 2018-12-17T06:21:55.650 回答