我的 Web 服务运行于例如:http://mydomain.com/mywebservice.asmx。这很好,但我有一个 PDA 应用程序,我想通过此 Web 服务对其进行调试同步。目前我能做到这一点的唯一方法是调试在实际服务器上运行的 Web 服务,这远非理想。
我想要做的是,对于连接到我的无线网络的任何设备,如果它请求 mywebservice.asmx,则将请求转发到我的开发 PC,然后由 IIS 处理该请求并允许我在 Visual Studio 中进行调试。
因此,网络上请求主机名的设备:mywebservice.asmx 将是他的这台电脑。
我不知道如何在我的路由器(Zoom ADSL X6)上进行设置,这远远超出了我的能力范围,但如果能得到任何帮助我都会非常感激
答案1
进一步研究发现,Windows Mobile(至少 6.1 以上)没有 hosts 文件,除非使用名为 HostsFileEditPro.exe / HostsFileEditStd.exe 的程序,否则您必须进行注册表项设置
http://mobilitydojo.net/2008/10/09/using-a-hosts-file-on-windows-mobile/
点击此链接下载它,它会为您管理注册表项。问题是我已经尝试过它并且它不起作用,尽管查看博客文章它对其他人都有效。不幸的是我已经没有时间进一步调查但如果我找到任何地方,我会更新这个帖子。
当我尝试在 Opera Mobile 中点击我的主机名条目时,它只是显示错误。我尝试过:mydomain.com 和 http;//mydomain.com,但无济于事。
答案2
如果您的 PDA 有一个 /etc/hosts 文件,只需将其更改为 mydomain.com 指向您的测试服务器的 IP 地址。
否则,您可以更改 PDA 中的 DNS 服务器地址,使其指向您的“特殊”DNS 服务器,该服务器将覆盖 mydomain.com 的地址(但只是转发其他请求)。
您可以在整个无线网络上执行此操作(如果该网络上没有实时用户),通过更改无线网络的 DHCP 服务器来提供“特殊”DNS 服务器的 DNS 地址。
答案3
一开始我以为你需要分离 DNS,但你不能将 PDA 中的 Web 服务 URL 更改为http://你的.devmachine.local/webservice.asmx或者http://dev.machine.ip.地址/webservice.asmx?
如果它使用您的内部 DNS 服务器(我假设 PDA 就像您网络上的每台其他机器一样从 DHCP 服务器获取 IP,然后获取您的 DNS 服务器)它将解决任何问题。
现在,如果 PDA 使用 3G 并且实际上不在你的网络内,你需要设置http://dev.mydomain.com并将该端口转发至您的开发机器。
最后,很多 PDA(我知道黑莓有)都有“模拟器”,它们作为本地应用程序运行,并且行为与真正的 PDA 完全一样:我使用了一个模拟器为黑莓进行 Web 开发。