gpt4 book ai didi

azure - 如何在本地Azure模拟器上重启实例?

转载 作者:行者123 更新时间:2023-12-04 11:27:50 29 4
gpt4 key购买 nike

我正在开发辅助角色故障转移解决方案,我需要能够通过关闭或重新启动实例以及创建新实例来测试和调试故障转移机制。

如何重新启动或关闭本地 Azure 模拟器上的特定实例?我使用的是 1.7 SDK

谢谢

最佳答案

我不同意大卫的回答。您可以执行一些操作来关闭实例或创建新实例。

关闭/杀死实例

当您在模拟器中运行应用程序时,它会为每个实例启动 1 个 Web 角色 (WaIISHost.exe)/辅助角色 (WaWorkerHost.exe) 进程:

enter image description here

当您终止其中一个进程时,就好像您终止了一个实例。切换回模拟器后,您将看到您杀死的特定实例的图标改变了颜色,并且日志将显示该实例的状态为“未知/已毁坏”:

enter image description here

附加调试器后,您将看到这种情况发生,并且实例将永远不会重新启动,从而允许您测试突然丢失一个或多个实例的场景。如果未附加调试器,这一切都会发生得非常快,并且实例将立即重新启动(在 Visual Studio 中,您可以选择启动而不调试)。

增加或减少实例数量

使用csrun.exe(通常位于C:\Program Files\Microsoft SDKs\Windows Azure\Emulator),您可以在模拟器中更新服务的配置,包括实例数。假设我想在目前拥有的 4 个实例中添加 6 个实例。

我打开位于 Azure 项目的 Debug 文件夹 (..\Some\Path\MultipleInstancesDemo\MultipleInstancesDemo\bin\Debug) 中的 ServiceConfiguration.cscfg 文件,并将实例数更改为 10 :

<ServiceConfiguration serviceName="MultipleInstancesDemo" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*" schemaVersion="2012-05.1.7">
<Role name="MyWebRole">
<Instances count="10" />
<ConfigurationSettings>
<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>

然后可以通过向 csrun.exe 提供部署 ID 和配置文件的路径来将其推送到模拟器。您将在模拟器中找到部署 ID。在上一个屏幕截图中,您将看到 deployment17(20),这意味着部署 ID 为 20。这是调用 csrun.exe 的方式: csrun/update:20;"..\Some\Path\MultipleInstancesDemo\MultipleInstancesDemo\bin\Debug\SeviceConfiguration.cscfg"

几秒钟后,您将在模拟器中看到新实例:

enter image description here

注意!:同样,这似乎仅在您启动项目而不进行调试时才有效。

关于azure - 如何在本地Azure模拟器上重启实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112767/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com