【问题标题】:Request.Url return localhost without domainRequest.Url 返回没有域的本地主机
【发布时间】:2016-04-29 13:18:03
【问题描述】:

我正在使用 Visual Studio 2012 开发一个 asp.net 网站。

当我使用 Visual Studio 运行 Web 应用程序时,我使用“http://localhost-si.mydomain.fr:65525

当我进行调试时,属性 Request.Url 返回我“http://localhost:65525/default.aspx

为什么以及如何在 Request.Url 中获取带有域的完整 URL(“localhost-si.mydomain.fr”,而不仅仅是“localhost”)?

非常感谢您的帮助。

约安

【问题讨论】:

  • 那么,您在mydomain.fr 下注册了一个名为localhost-si 的子域用于测试?如果您通过http://mydomain.fr 请求您的页面,Request.Uri 应该就是这样。同样,如果您从自己的测试机器本地请求页面,Request.Uri 应该是http://localhost:65525。你到底在问什么?
  • @ext0 我认为他有一个主机或 DNS 条目将 localhost-si.mydomain.fr 指向 127.0.0.1。因此,他希望请求 URL 将反映他实际请求页面的方式,而不是返回“localhost”(因为他没有在 localhost 上请求页面)
  • @RB。啊,我明白了,我不确定是否可以从该请求中获取原始 URI,因为它首先通过本地 DNS 进行路由?
  • @biyoann request.Headers["Host"] 的值是多少?这应该是localhost-si.mydomain.fr。如果是,这是否符合您的要求?
  • 为了进行本地开发测试,我必须使用与最终 Web 服务器类似的 URL。我更改了我的本地主机文件以添加行 127.0.0.1 localhost-si.mydomain.fr 我的 VisualStudio 项目中的起始页面是 localhost-si.mydomain.fr:65525 当我在调试模式下运行 Web 应用程序时,站点启动并且虽然我转到页面localhost-si.mydomain.fr:65525/default.aspx 但是当我在代码中设置断点时,我有 Request.Url = localhost:65525/default.aspx 我想恢复我的 Request.Url = localhost-si.mydomain.fr:65525/default.aspx

标签: c# asp.net visual-studio iis httprequest


【解决方案1】:

为了获得完整的域名,我相信您需要右键单击您的项目并选择属性。属性页面上应该有一个 web 选项卡,可让您指定要使用的项目 url(请注意,我正在使用较新版本的 Visual Studio 来查看它,因此它可能看起来有点不同)。

但请注意,您需要确保您的本地系统实际上可以路由该完整域名。如果不能,您可以编辑您的 hosts 文件(最简单的方法是使用 hostsman 等第三方程序)将 http://localhost-si.mydomain.fr 路由到 127.0.0.1。

【讨论】:

  • 为了进行本地开发测试,我必须使用与最终 Web 服务器类似的 URL。我更改了本地主机文件以添加行 127.0.0.1 localhost-si.mydomain.fr 我的 VisualStudio 项目中的起始页是 localhost-si.mydomain.fr:65525 当我在调试模式下运行 Web 应用程序时,站点启动虽然我去页面 localhost-si.mydomain.fr:65525/default.aspx 但是当我在我的代码中设置断点时,我有 Request.Url = localhost:65525/default.aspx 我想恢复我的 Request.Url = localhost-si.mydomain.fr:65525/default.aspx
  • 它可能需要一些额外的调整,就像这个问题中提到的那样:link
猜你喜欢
  • 2021-03-08
  • 2017-09-21
  • 2012-11-09
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2011-09-07
相关资源
最近更新 更多