【问题标题】:Debugging a Windows CE application which uses a Microsoft Azure service调试使用 Microsoft Azure 服务的 Windows CE 应用程序
【发布时间】:2011-02-03 00:57:23
【问题描述】:

这个问题可能与实际编程关系不大,而与环境设置有关。

我正在为 Windows CE 设备开发一个应用程序,它将使用托管在 Microsoft Azure 中的服务。显然,这一切都在开发中,服务本身还没有上传到 Azure。所以我使用MS提供的模拟器在本地部署服务。此外,我不认为将服务上传到 Azure 只是为了调试它是一个好主意,因为这可能会为我们带来一笔我们还不想支付的 Azure 账单。

另外,请注意,我将 VS2008 用于 Windows CE 项目,将 VS2010 用于 Azure 项目(感谢 MS 放弃对移动设备的支持-_-)。

问题是,该服务似乎只能通过 127.0.0.1 或 localhost 访问,如果我物理连接 Windows CE 设备或使用模拟设备,它会成为网络上的一个新实体,并且无法访问该服务没有了。

如何调试我的 Window CE 应用程序并让它看到服务,同时仍然能够调试服务本身?

【问题讨论】:

    标签: visual-studio-2010 azure wcf windows-ce visual-studio-2008-sp1


    【解决方案1】:

    您是对的,开发结构(允许您构建 azure 应用程序并在本地调试它的计算模拟器)仅用于本地开发。有一些技巧可以让你绕过这个问题,但我不推荐它。

    我的建议是在更传统的托管环境中启动服务,至少在这些早期阶段。您可以像往常一样将其定义为 Web 应用程序,并使其正常运行。然后,当您知道它大部分完成时,创建一个云服务项目并添加现有的以将您的 Web 应用程序带入云服务解决方案。进入后,将 Web 应用程序添加为 Web 角色是一件简单的事情。

    从那里,您可以根据需要在本地和托管的 Azure 环境中完成服务测试。这使您可以最大限度地降低开发成本,同时仍然利用云的力量。好处是,您还完成了大部分基本工作,以确保您的服务与多种部署方案兼容,从而为您的最终生产状态提供更多选择。

    【讨论】:

    • 这会起作用,假设服务没有使用,例如,Azure 存储。考虑到我在 Azure 表存储方面的熟练程度(也就是说,我在这方面还是新手,而且东西往往会让我感到惊讶),我也需要对其进行测试。
    • 您可以在本地部署并仍然访问托管项目,例如存储。同样,如果您是松散耦合的,这允许您在本地开发部分并根据需要链接到托管或本地资源。因此,在服务开发的早期阶段在本地使用开发存储,然后最终在服务成熟时将其移至托管存储。除非你有一群开发人员在努力,否则 Azure 存储的费用应该是最低的(尤其是与开发人员可能花费的时间来设置单个环境相比)。
    【解决方案2】:

    好的,我不知道这是否是故意的,或者我是否发现了上述黑客攻击之一,但我看到 IIS 托管了我在端口 5100 上创建的 Azure 站点,并且该站点的绑定是 * ,因此它接受所有连接。

    使用它,我可以从我的模拟器访问服务,并且我仍然可以调试所有与 Azure 相关的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      相关资源
      最近更新 更多