【问题标题】:Request.Url does not allow IPs in ASP.NET MVCRequest.Url 不允许在 ASP.NET MVC 中使用 IP
【发布时间】:2011-10-12 13:03:00
【问题描述】:
我在我的 ASP.NET MVC 应用程序中使用 Requestl.Url 来为新页面提供返回页面的 URL。一切正常,直到我在 android 模拟器上测试了我的页面。
在那里,我使用http://10.0.2.2/ 来寻址我的本地主机。但是 Request.Url 给了我“http://localhost/”。
这是个问题,因为“localhost”指向安卓手机的真实本地主机,而“10.0.2.2”指向我的PC主机。
为什么 ASP.NET 用 localhost 名称替换 IP 地址?我怎样才能防止这种情况发生?
谢谢,康拉德
【问题讨论】:
标签:
asp.net
android
asp.net-mvc-3
localhost
【解决方案1】:
如果我正确理解您的帖子,您将 android 模拟器指向您的电脑,它会将您重定向到 localhost
第一个注意事项我应该指出,如果你使用的是 Visual Studio 内置的 Cassini 开发服务器,你不能那样做,因为它只接受来自 localhost 的连接
由于 Android 模拟器被视为外部设备(即使它在您的计算机上),Cassini 不太可能接受这些连接,我不确定这是否与您的问题的根本原因有关
另一个选项是为本地调试设置一个虚拟 URL,方法是在主机文件中添加一个条目,例如myapp.local 或 asp.localhost.app 等,并将其指向您的 PC localhost,您可能需要使用 IIS Express 或 IIS full 进行调试,并将其设置为接受您的主机文件条目作为给定的绑定您正在使用的网站
我不得不用我正在使用的 Windows iPhone 模拟器做类似的事情