【问题标题】:Windows azure web role on local IIS本地 IIS 上的 Windows azure Web 角色
【发布时间】:2013-07-31 10:00:13
【问题描述】:

我正在开发 Windows azure web 角色。我可以在本地 IIS 上托管 azure Web 角色吗?

如果是..我需要遵循哪些步骤?

本地计算机当前在 windows server 2008 R2 上运行

【问题讨论】:

    标签: iis azure azure-web-roles


    【解决方案1】:

    有两种方法可以实现,对目标环境的保真度不同。

    最简单的就是在本地运行您的网站项目。您可以将其作为 IIS 上的虚拟目录附加并从浏览器运行它或从 Visual Studio 调试它。这将作为常规 IIS Web 应用程序运行,但不会作为 Web 角色运行。

    第二个是将您的应用程序打包为云服务,并在安装在您的开发机器上的 Windows Azure Compute Emulator 下运行它。有几个关于如何做到这一点的教程,包括:

    Compute Emulator 模拟了 Windows Azure 云服务的多个功能,但您必须注意Differences Between the Compute Emulator and Windows Azure。您的应用程序可以通过读取RoleEnvironment.IsAvailable RoleEnvironment.IsEmulated 属性来根据环境调整其行为。

    【讨论】:

    • “Compute Emulator 和 Windows Azure 之间的差异”链接失效。这似乎是一个存档副本:archive.is/GnHoc
    【解决方案2】:

    Compute Emulator 在本地使用 IIS Express 进行开发/测试工作。当您安装 SDK+Tools 时,应该已经为您设置了 IIS Express。 (旧版本的 SDK 依赖于完整的 IIS 7 - 更多信息here)。

    如果您正在谈论开发以在本地生产中运行:它并不完全以这种方式工作。 web 角色 转换为带有一些启动脚手架代码的 Windows Server 虚拟机,以允许您在 VM 中安装东西、调整注册表等。因为 Web 角色实例是无状态,每次启动新实例时,都会执行启动脚本(如果实例因硬件故障而崩溃并在另一台机器上重新启动时也是如此)。

    如果您想在本地运行 Web 应用程序本身,那么您需要根据您的代码是在 Windows Azure 中还是在本地机器上执行特定的操作(然后以不同的方式打包它 - 您会'不包括网络角色项目)。您可以查看RoleEnvironment.IsAvailable + RoleEnvironment.IsEmulated 来帮助您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多