zoukankan      html  css  js  c++  java
  • 在仿真器中运行时跳过Windows Azure Startup任务

    Startup任务通常被用在Windows Azure中安装东西或改变托管角色代码虚拟机的一些配置。有时当你通过计算仿真器在当地运行和测试时你不想执行那些安装步骤。(例如,你可能跳过一个冗长的下载或跳过你计算机上已有东西的安装)。

    使用SDK 1.5,有几种被支持的方法来确定它是不是在仿真模式下运行。从.NET代码来看,有新的RoleEnvironment.IsEmulated 静态属性。从其他代码来看(像是批处理文件startup 任务),SDK 1.5带来一种很好的方法来将IsEmulated 值放到环境变量中。下面是startup任务的定义,将获得一个EMULATED 环境变量,来判别该角色是否在计算仿真器里运行。

    <Startup>
      <Task executionContext="elevated" commandLine="startup\startup.cmd">
        <Environment>
          <Variable name="EMULATED">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
          </Variable>
        </Environment>
      </Task>
    </Startup>

    注意xpath 属性。你可以提供很多种有用的path,将帮助你获得如端点的端口、本地存储资源的位置或配置的setting值。详细信息请查看MSDN文档:“xPath Values in Windows Azure”“WebRole Schema”

    现在我们需要做的是利用我们startup任务中的这个环境变量值。startup.cmd 的第一行简单地检查一下环境变量值,如果它被设为true就立即退出:

    if "%EMULATED%"=="true" goto :EOF
    

    我曾经在我的startup任务中写了各种各样的测试以避免重复运行电脑上的安装程序,这个新特性让我省去了这些事情。

    本文翻译自:http://blog.smarx.com/posts/skipping-windows-azure-startup-tasks-when-running-in-the-emulator

  • 相关阅读:
    Nexus3.0私服搭建
    JavaScript
    Spring基础
    Hibernate注解
    HTML5
    Apache Tomcat
    Java安装(Ubuntu)
    C++ 日期 & 时间
    C++ 引用
    C++ 指针
  • 原文地址:https://www.cnblogs.com/new0801/p/6176591.html
Copyright © 2011-2022 走看看