【问题标题】:Event on completed Azure deployment in Visual Studio 2010在 Visual Studio 2010 中完成 Azure 部署的事件
【发布时间】:2012-01-15 16:12:10
【问题描述】:

在部署到 Azure 后,我想自动化在我的开发计算机上运行测试应用程序的过程。

我正在从 Visual Studio 发布并希望将暂存 URL 传递给我的测试应用程序。

是否存在 Azure 部署已完成的事件,我可以挂钩以获取暂存 URL?这在 Visual Studio 2010 中是否可行,如果可以,有人可以指出我的方向吗?

【问题讨论】:

    标签: visual-studio-2010 msbuild azure


    【解决方案1】:

    将代码构建到您的测试应用程序中可能更简单,该代码可以为您的部署确定暂存 URL。这是通过以下方式完成的: 1) 使用带有正确证书的Azure Service Management API 2) 检查部署列表并查看暂存部署的 DeploymentId。 DeploymentId + cloudapp.net 就是url。

    【讨论】:

      【解决方案2】:

      您可以使用WebRole(扩展RoleEntryPoint 的类)的OnStart 方法。要获取暂存 URL,您可以使用 RoleEnvironment.DeploymentId。使用它,您可以格式化字符串以获取暂存 URL:

      string.Format("https://{0}.cloudapp.net", RoleEnvironment.DeploymentId);
      

      但请注意您在此方法中的操作,因为当它运行时,您的 web.config 将不会被加载。如果在此方法中需要任何配置变量,则需要从云配置设置中获取。

      更新

      RoleEnviroment.DeploymentId 是一个静态属性,因此您可以在应用程序运行后(即在 Global.asax Application_Start 期间)而不是在 WebRole.OnStart 期间获取它。但是请小心,因为此代码可能会在应用程序池回收后重新运行,而 OnStart 可能会在实例重新启动后重新运行。

      【讨论】:

      • 感谢您的留言,但这不是我想要的。我想在我的开发机器上而不是在 Azure 实例上运行测试应用程序。所以我需要在VS2010中获得一个事件。
      • 好吧,我误解了这个问题。我认为没有引发任何事件 OnDeploymentComplete 是 VS。
      猜你喜欢
      • 2011-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      相关资源
      最近更新 更多