Я должен не согласиться с ответом Дэвида здесь. Есть несколько вещей, которые вы можете сделать, чтобы закрыть экземпляры или создать новые экземпляры.
Выключение/убийство экземпляров
Когда вы запускаете свое приложение в эмуляторе, оно запускает 1 процесс веб-роли (WaIISHost.exe)/рабочей роли (WaWorkerHost.exe) для каждого экземпляра:
![введите здесь описание изображения](https://i.stack.imgur.com/zXEsk.png)
Когда вы убиваете один из этих процессов, это как если бы вы убили экземпляр. После переключения обратно в эмулятор вы увидите, что значок этого конкретного экземпляра, который вы убили, изменил цвет, а журналы покажут, что состояние экземпляра неизвестно/уничтожено:
![введите здесь описание изображения](https://i.stack.imgur.com/z9EXx.png)
Когда отладчик подключен, вы увидите, как это происходит, и экземпляр никогда не перезапускается, что позволяет вам тестировать сценарии, в которых вы внезапно теряете один или несколько экземпляров. Если отладчик не подключен, все это произойдет очень быстро, и экземпляр сразу же перезапустится (в Visual Studio вы можете выбрать запуск без отладки).
Увеличение или уменьшение количества экземпляров
С помощью csrun.exe (обычно находится в папке C:\Program Files\Microsoft SDK\Windows Azure\Emulator) вы можете обновить конфигурацию службы в эмуляторе, включая количество экземпляров. Допустим, я хочу добавить 6 экземпляров к 4 экземплярам, которые у меня есть на данный момент.
Я открываю файл ServiceConfiguration.cscfg, расположенный в папке Debug вашего проекта Azure (..\Some\Path\MultipleInstancesDemo\MultipleInstancesDemo\bin\Debug), и изменяю количество экземпляров на 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 идентификатор развертывания и путь к файлу конфигурации. Вы найдете идентификатор развертывания в эмуляторе. На предыдущем снимке экрана вы видите deployment17(20), это означает, что идентификатор развертывания равен 20. Вот как вы бы назвали csrun.exe: csrun /update:20;"..\Some\Path\MultipleInstancesDemo\MultipleInstancesDemo\bin\Debug\SeviceConfiguration.cscfg"
Через несколько секунд вы увидите новые экземпляры в эмуляторе:
![введите здесь описание изображения](https://i.stack.imgur.com/EGsFQ.png)
Примечание! Также здесь кажется, что это работает только тогда, когда вы запускаете проект без отладки.
person
Sandrino Di Mattia
schedule
24.08.2012