在理解.Net中可用于资源的各种路径中的不同之处时,我有些困惑。
我只猜测物理路径是资源的OS目录路径。我很困惑,事件无法告诉我基本上需要使用什么路径。
答案 0 :(得分:11)
关于ASP.NET应用程序,我这样想:
物理路径:使用驱动器/目录/文件的操作系统路径,其中实际的应用程序并未真正使用此路径,但如果确实如此,则会使用虚拟路径进行映射。物理路径是操作系统如何定位资源
即:c:\\inetpub\wwwroot\aspnetapp
实际应用程序只关心相对于其根目录的路径。
根路径:这将是您的aspnetapp或~/Home/Index
根目录下的URI或URL,并具有正确的路由配置(不要与Unix根目录命名约定混淆)。根据操作系统/ NOS,http://www.yardpenalty.com
实际上可能是此示例的物理路径的位置。
虚拟路径或相对虚拟路径:应用程序从其Web服务器识别或识别的路径。
例如,在IIS(或OWIN)中,您可能在文件夹c:\\inetpub\ftp\images
中有图像的资源目录,但开发人员将此文件夹映射到应用程序,如此... ~\Images
。因此,请将此视为能够在物理上位于其他位置时创建应用及其用户可识别资源的相对路径。
我认为当开发人员希望在单个域下呈现单个应用程序的一个或多个项目时,在根应用程序下使用虚拟路径将有助于开发。
绝对路径:资源的完整路径。
我们假设您有一个链接可以将您带到这样的特定路线:
<a href="http://www.yardpenalty.com/home/about"> About</a>
。如果此链接位于布局或母版页中,则相对路径<a href="~/home/about">About</a>
将更清晰。有些情况下,您需要对绝对路径进行硬编码,但使用相对路径通常更明智,尤其是在开发涉及迁移时。
答案 1 :(得分:7)
以下内容应为您提供所需的信息:
答案 2 :(得分:0)
当前工作目录的相对路径-有时您会以./Directory/Filename.Ext
这样的格式找到路径说明,这意味着该路径是相对于当前应用程序工作目录指定的。