У меня есть два сайта в моей WebRole, и я определил задачу запуска.
Первая строка работает нормально, она создает для меня новый пул приложений:
%WINDIR%\system32\inetsrv\appcmd.exe add apppool /name:"VCPool" /managedRuntimeVersion:"v4.0" /managedPipelineMode:"Integrated"
Теперь я хотел быЯ хотел бы изменить свой второй на этот новый созданный AppPool, но добавление еще одной строки сразу же не помогает.
%WINDIR%\system32\inetsrv\appcmd.exe set app "WebRole_IN_0_VC/" /applicationPool:"VCPool"
Кажется, второй сайт как-то еще не готов.
Как мне отложить задачу на 30 секунд или немного задержать appcmd.exe?Если нет способа создать зависимости для этой задачи запуска, которая будет выполняться только тогда, когда этот второй сайт запущен и работает?
Любая помощь будет высоко оценена, Большое спасибо,
Есть ли способ отложить это выполнение на 30 секунд, чтобы убедиться, что второй сайт запущен и его можно изменить?
Обновление:
Спасибо за подсказки.Я провел дополнительное расследование по этому вопросу.Я обнаружил событие OnStart ().
1) Но поскольку я использую silverlight и просто оборачиваю существующий веб-проект в проект Cloud Roles, у меня не будет WebRole.cs как такового.Могу ли я просто добавить его в свой веб-проект Silverlight и использовать там?Или рекомендуется создать проект WebRole с нуля и полностью заменить веб-проект Silverlight?
2) Что касается тега <Runtime/>
в определении службы, могу ли я просто добавить его следующим образом?Будет ли это иметь какие-либо последствия для безопасности, когда веб-ролик будет работать с повышенными правами?
<WebRole name="WebRole" enableNativeCodeExecution="true" vmsize="ExtraSmall">
<Runtime executionContext="elevated"/>
<Sites>
<Site name="WebRole" physicalDirectory="./WebRole">
...
</Sites>
</WebRole>
3) И последнее, но не менее важное: как запустить файл cmd или на самом деле эту строку
%WINDIR%\system32\inetsrv\appcmd.exe set site /site.name:"WebRole_IN_0_VC" /[Path='/'].applicationPool:"ASP.NET v4.0" >>Log.txt
вМетод OnStart ()?