【发布时间】: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