我正在开发windows azure web角色。我可以在本地IIS上托管azure web角色。
如果是的话......我需要遵循的步骤是什么?
本地计算机当前正在Windows Server 2008 R2上运行
答案 0 :(得分:4)
有两种方法可以实现这一目标,与目标环境保持不同的保真度。
最简单的方法就是在本地运行您的网站项目。您可以将其作为虚拟目录附加到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属性来根据环境调整其行为。
答案 1 :(得分:2)
Compute Emulator在本地使用IIS Express进行开发/测试工作。安装SDK + Tools时,应已为您设置IIS Express。 (旧版本的SDK依赖于完整的IIS 7 - 更多信息here)。
如果你正在讨论在本地生产中进行开发:它并不是这样做的。 Web角色转换为带有一些启动脚手架代码的Windows Server虚拟机,允许您在VM中安装内容,调整注册表等。由于Web角色实例无状态,每次启动新实例时,都会执行启动脚本(如果实例因硬件故障而崩溃并在另一台机器上再次启动,则相同)。
如果您想在本地运行Web应用程序本身,则需要根据您的代码是在Windows Azure中执行还是在本地计算机上执行特定操作(然后以不同的方式打包它 - 您不会不包括Web角色项目。您可以查看RoleEnvironment.IsAvailable
+ RoleEnvironment.IsEmulated
来帮助您。