【发布时间】:2010-12-28 19:56:10
【问题描述】:
大家好,在使用 Visual Studio 2008 (Cassini) 在内置 Web 服务器上本地测试 ASP.NET 应用程序时,我似乎发现了一个差异。
我在本地机器上设置了一个主机,将 dev.testhost.com 与 127.0.0.1 关联起来,因为我有一个需要更改其外观的应用程序取决于用来调用它的主机头。
但是,当我使用http://dev.testhost.com:1234/index.aspx 请求我的测试应用程序时,Request.Url.Host 的值始终为"localhost"。而Request.Headers["host"] 的值是"dev.testhost.com:1234"(正如我所期望的那样both)。
我不担心第二个值包括端口号,但我很困惑为什么主机名完全不同!有谁知道这是一个已知问题还是设计使然?还是我是个白痴?!
我宁愿使用 - 由于可能引起混淆而被删除! - 山姆Request.Url.Host,因为这样可以避免在测试时去掉端口号...
【问题讨论】:
-
从 MSDN 文档看来,Request.Url 应该与发送到服务器的请求有关。引用msdn.microsoft.com/en-us/library/system.web.httprequest.aspx ... > HttpRequest 类 > 使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。这不是它在 Cassini 中运行时似乎在做的事情......感谢迄今为止的答案,但我真的不相信有任何充分的理由为同一个请求对象报告不同的主机名......
标签: c# asp.net visual-studio debugging cassini