【问题标题】:Azure Cloud Service warmup IISAzure 云服务预热 IIS
【发布时间】:2016-04-05 16:49:03
【问题描述】:
参考这个question,我尝试在我的WebRole.OnStart 中编写该示例,但我不断收到以下信息
详细信息:角色遇到错误并已停止。未处理的异常:System.Net.WebException,详细信息:异常:基础连接已关闭:发送时发生意外错误。
在 System.Net.HttpWebRequest.GetResponse()
在
并且由于发布日志指定 IISConfigurator 启动任务尚未运行
有没有其他解决办法
我正在使用
- 云服务经典
- 天蓝色 API 2.8.2
- Visual Studio 2015 更新 1
【问题讨论】:
标签:
azure
iis
visual-studio-2015
azure-cloud-services
【解决方案1】:
您可以通过在项目中包含脚本并将启动任务添加到 ServiceDefinition.csdef 来在主机 VM 启动时执行脚本。在下面的示例中,我们运行 Startup.cmd。我们通过在脚本中调用 appcmd.exe 来使用它来禁用我们网站的 idleTimeout。
下面是您添加到 WebRole 的 Startup 节点,作为 ServiceDefinition.csdef 中站点的兄弟节点。还包括如何注入可以通过 RoleEntryPoint 访问的运行时变量,关于 RoleEntryPoint here 的精彩文章。
<Startup>
<Task commandLine="Startup.cmd" executionContext="elevated" taskType="simple">
<Environment>
<Variable name="isEmulated">
<RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
</Variable>
<Variable name="instanceId">
<RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/@id" />
</Variable>
<Environment>
</Task>