asp.net - 如何获得ASP.NET应用程序的完整虚拟路径

标签 asp.net path virtual

我如何知道应用程序当前托管的完整虚拟路径?例如:

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/

相关文章:

c# - 从数据库获取 bytes[] 图像作为 IFormFile

javascript - 如何使用 jquery 获取所选 Asp.net checkBoxList 项目的索引及其文本值

java - linux环境下新建绝对路径文件

django - url 不匹配,django 模板链接

azure - 如何在 Windows Azure 虚拟机上强制更改 IP?

asp.net - 在gridview asp.net的编辑模式下设置DropDownList的选定值或文本

asp.net - 如何在 ASP.NET 中加载图像服务器端?

Jquery:获取带有完整路径的图标

c++ - 调用错误和崩溃的纯虚方法

c# - C#虚拟方法