IIS / HttpHandler:获取相对绝对路径?

时间:2010-12-14 08:09:25

标签: c# asp.net iis path

我在IIS中有一个站点设置,可以在http://localhost/WebApplication6运行。在我的Web应用程序中,我有一个处理程序(实现IHttpHandler)。当我打印context.Request.Url.AbsolutePath时,我得到/WebApplication6/whaetever。我想修剪/WebApplication6(本地站点名称)。我怎样才能做到这一点?有没有办法获得“WebApplication6”位,所以我知道要剪掉什么? (在IHttpHandler.ProcessRequest内)。

2 个答案:

答案 0 :(得分:4)

您最好的选择是HttpRequest.AppRelativeCurrentExecutionFilePath - 它提供相对于您的Web应用程序根目录的路径。但是,它将采用“~/whatever”的形式,其中~/表示应用相对路径。如果您的要求是获得/whatever,那么您可以使用字符串函数去除〜。

顺便说一句,这篇文章很有帮助你理解所有路径:http://www.west-wind.com/weblog/posts/132081.aspx

答案 1 :(得分:0)

VirtualPathUtility.GetDirectory(context.Request.Url.AbsolutePath)