无法理解Http Request.ApplicationPath

时间:2010-09-24 17:58:48

标签: asp.net url

HttpRequest.ApplicationPath返回当前应用程序的虚拟根路径,因此在以下示例中,当用户请求http://localhost:64390/WebSite2/Default.aspxlblApplicationPath.Text返回字符串“/WebSite2”时,不应该这样,因为这是从网站的虚拟根到WebSite2应用程序的虚拟根的路径?相反,它返回一个空字符串

Default.aspx的:

<asp:Label ID="lblApplicationPath" runat="server" 
     Text='<%# HttpContext.Current.Request.ApplicationPath %>'>
</asp:Label>

同样,http://msdn.microsoft.com/en-us/library/ms178116.aspx上的一篇文章指出,对于http://www.contoso.com/MyApplication/MyPages/Default.aspx的浏览器请求,ApplicationPath会返回/,但不应返回/MyApplication,因为这是路径从网站的虚拟根到应用程序的虚拟根目录?

谢谢

1 个答案:

答案 0 :(得分:2)

这取决于实际定义应用程序的位置。在所描述的情况下,应用程序似乎在/级别定义,但文件位于子文件夹中。您自己的示例似乎使用内置的Web服务器到工作室。也许你应该配置你的本地IIS来服务这个网站,并强制在http://localhost/.以外的某个子文件夹级别定义应用程序根目录