IIS虚拟目录和ASP.NET目录路径

Dav*_*ndo 19 asp.net iis relative-path

问题

我遇到了典型的虚拟目录困境,因为您在ASP.Net应用程序上有一些路径,并且您将应用程序部署在IIS虚拟目录中.然后所有与"web根"(fi,"/ images")相关的路径都不起作用,因为应用程序位于虚拟目录路径中.


解决方案

A.将"images"文件夹设为虚拟目录.这样"/ images"将永远存在.

B."<%=Request.ApplicationPath%>/Imagenes"我的图片的来源.这在IIS中很有用,但我无法在设计时和调试时看到它.

此解决方案还包括以下说明:

  • System.Web.VirtualPathUtility.ToAbsolute
  • ResolveClientUrl
  • Request.ApplicationPath

C.使用当前控件/页面的亲戚路径.这确切地知道images文件夹相对于我当前文件的位置(没有转到root.所以我会使用像"","../","../../"之类的东西等等.


我正在寻找的解决方案

说.我不喜欢这些解决方案.我想在web.config文件或IIS中找到解决方案.我在web.config文件中写了一些内容,告诉IIS我的应用程序实际驻留在哪里(虚拟目录).

有什么建议?

Kev*_*che 10

你在路径上使用波浪号(〜)吗?

〜指的是虚拟Web应用程序的根....

〜/图像例如.

  • @klabranche,代字号(〜)用于服务器端控件,只能在服务器端代码中使用(http://msdn.microsoft.com/en-us/library/ms178116.aspx)@DavidAndres,斜杠"/ "假设您的应用程序位于网站根目录中(不适用于虚拟目录).(http://msdn.microsoft.com/en-us/library/ms178116.aspx)>站点根相对路径,它针对站点根目录(而不是应用程序根目录)进行解析. (4认同)