这个问题可能与实际编程关系不大,而与环境设置有关。
我正在开发一个Windows CE设备的应用程序,它将使用Microsoft Azure中托管的服务。显然,这一切都在开发中,服务本身尚未上传到Azure。所以我使用MS提供的仿真器在本地部署服务。此外,我不认为将服务上传到Azure只是为了调试它是一个好主意,因为这可以为我们提供一个我们还不想支付的Azure账单。
另外,请注意,我正在使用VS2008用于Windows CE项目,而VS2010用于Azure项目(感谢MS放弃对移动设备的支持-_-)。
问题是,该服务似乎只能通过127.0.0.1或localhost访问,如果我物理连接Windows CE设备或使用模拟的设备,它将成为网络上的新实体,并且无法访问该服务更多。
如何调试我的Window CE应用程序并让它看到服务,同时仍能调试服务本身?
答案 0 :(得分:1)
你是对的,开发结构(允许你构建一个azure应用程序并在本地调试它的计算模拟器)仅用于本地开发。有一些黑客可以让你解决这个问题,但我不推荐它。
我的建议是在更传统的托管环境中启动服务,至少在这些早期阶段。您可以像往常一样将其定义为Web应用程序,并使其正常运行。然后,当您知道其大部分已完成时,请创建一个云服务项目并添加现有内容以将您的Web应用程序引入云服务解决方案。进入后,将Web应用程序添加为Web角色非常简单。
从那里,您可以根据需要在本地和托管的azure环境中完成服务的测试。这使您可以在充分利用云的强大功能的同时最大限度地降低开发成本。作为好处,您还完成了大部分基本工作,以确保您的服务与多个部署方案兼容,从而为您的最终生产状态提供更大程度的选择。
答案 1 :(得分:0)
好吧,我不知道这是故意的,还是我发现了上面提到的黑客之一,但是我看到IIS托管我在端口5100上创建的Azure网站,并且该网站的绑定是{{1所以它接受所有连接。
使用这个我可以从我的模拟器访问该服务,我仍然可以调试所有Azure相关的东西。