我如何知道应用程序当前托管的完整虚拟路径?例如:
http://www.mysite.com/myApp
要么
http://www.mysite.com/myApp/mySubApp
我知道HttpRequest的应用程序路径,但它仅返回我的应用程序当前托管的文件夹名称,但是如何获得初始部分?
最佳答案
路径的域名部分实际上并不是应用程序本身的属性,而是取决于请求的URL。您可能可以通过许多不同的主机名访问单个网站。要获取与当前请求关联的域名以及当前应用程序的虚拟路径,您可以执行以下操作:
Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath
从技术上讲,“应用程序”是IIS中定义的虚拟目录,而
Request.ApplicationPath
恰好返回该目录。如果要获取处理当前请求的文件夹,则可以执行以下操作:VirtualPathUtility.GetDirectory(Request.Path)
如果在IIS中未将子应用程序定义为虚拟目录,则ASP.NET不知道如何将子应用程序与较大的应用程序区分开。无需在IIS中注册,它只是将整个过程视为一个应用程序。
关于asp.net - 如何获得ASP.NET应用程序的完整虚拟路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/932745/