【问题标题】:how to get URL path on local host and on server?如何在本地主机和服务器上获取 URL 路径?
【发布时间】:2011-07-06 12:14:12
【问题描述】:

请指导我如何在本地主机和服务器上获取 URL 路径排除页面名称。

例如对于页面 Active.aspx,我想要获取的本地路径以粗体显示。

*http://localhost:1532/WebFolder/*Active.aspx

在服务器上我想得到这个大胆的部分

*http://domain.com/WebFolder/*Active.aspx

同样,如果页面在根目录下,它会返回

*http://domain.com/Active.aspx 或 *http://localhost :1532/**Active.aspx

【问题讨论】:

标签: asp.net asp.net-3.5


【解决方案1】:

Request.ApplicationPath - 获取 ASP.NET 应用程序在服务器上的虚拟应用程序根路径。

Request.Path - 获取当前请求的虚拟路径。

编辑

要获取当前应用程序的域+当前请求+虚拟路径,请尝试以下操作:

Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath

【讨论】:

  • @user576510 - 尝试第二个选项
  • 效果很好。我在 iFrame 中调用一个页面以在我的开发机器上进行测试,它使用 LocalHost 然后是一些我不想硬编码的随机端口号。像这样应用您的建议:Request.Url.GetLeftPart(UriPartial.Authority) + Page.ResolveUrl("TestHttpMethods.aspx") 成功了,并给了我这个:“localhost:62053/Pages/Forms/TestHttpMethods.aspx”。谢谢!
【解决方案2】:

Request.Url.AbsoluteUri 是要走的路

【讨论】:

    【解决方案3】:

    您可以使用 Request.servervariable["Remote_addr"] 来获取 IP 地址。但是如果您在本地主机上尝试,它将返回您机器的默认 IP 地址。您可以从网络服务器查看此代码,可以获取 ip 地址。

    【讨论】:

      【解决方案4】:

      如果您只想获取页面的本地文件路径,例如。 “活动.aspx” 使用

      Request.AppRelativeCurrentExecutionFilePath
      

      忽略您的本地主机、本地主机文件映射或虚拟目录名称,并将返回“~/Active.aspx” Request.Url.LocalPath 等其他属性也无济于事。

      【讨论】:

        【解决方案5】:

        试试这个:

        Server.MapPath("~/");
               or 
        Request.Url.Host
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-11-18
          • 1970-01-01
          • 1970-01-01
          • 2016-01-25
          • 2017-03-17
          • 2013-07-13
          • 1970-01-01
          • 2015-07-07
          相关资源
          最近更新 更多