I role web e worker di Windows Azure sono pacchetti che una volta caricati vengono distribuiti su più macchine virtuali a seconda del numero di ruoli e delle istanze specificate. Data la versalità delle VM e dell'automatismo di deployment, eventuali personalizzazioni che si possono fare accedendo tramite accesso remoto, come intervenire su IIS, creare cartelle o altro, sarebbero lunghe da fare e vane, non appena per qualsiasi ragione, il fabric controller rinnova o istanzia una nuova VM.
Per ovviare e facilitare queste esigenze è possibile nel file di configurazione dei role, specificare uno o più comandi batch da eseguire allo startup. Basta quindi editare il file csdef come nell'esempio seguente.
<ServiceDefinition name="MyWindowsAzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="ASPItaliaRole" vmsize="Small"> <Startup> <Task commandLine="Task.bat" executionContext="elevated" /> </Startup> </WebRole> </ServiceDefinition>
Il command line che si specifica con l'attributo è solitamente un file di batch che si può includere nel progetto di deploy; verrà poi copiato sulla VM nella cartella E:\approot\bin. Il file oltre ad essere incluso deve avere come proprietà di progetto l'opzione "Copy to Output Directory" impostata su "Copy always".
L'attributo executionContext può assumere i valori limited o elevated, ad indicare se deve essere eseguito con gli stessi privilegi del ruolo o come amministratore. Facoltativamente è possibile impostare l'attributo taskType,che può essere:
- simple: l'istanza non è pronta fino a quando il task è stato eseguito (default);
- background: l'istanza parte insieme al task;
- foreground: l'instanza parte insieme al task, ma non può essere fermata fino aquando il task non ha terminato il suo lavoro.
Quest'ultima opzione è da utilizzare con attenzione perché blocca il riciclo del servizio.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Evitare memory leaks nelle closure JavaScript
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Collegare applicazioni server e client con .NET Aspire
Creare agenti facilmente con Azure AI Agent Service
Testare il failover sulle region in Azure Storage
Ridurre il reflow cambiando il CSS
.NET Conference Italia 2024
Configurare lo startup di applicazioni server e client con .NET Aspire
Ridurre il reflow ottimizzando il CSS
I più letti di oggi
- Niente .NET sui server: siamo Microsoft
- Una funzione per validare un indirizzo e-mail
- Impersonation di utente per l'esecuzione di codice in una pagina ASP.NET
- Tutorial ASP.NET 4.0
- Tutorial Entity Framework 5.0
- Solo 5 minuti all'inizio della keynote!! http://aspitalia.com/build-win8 #BldWin
- Windows Embedded Standard 8 disponibile in CTP. stessa base di #win8, componentizzabile, con supporto a #metro: http://aspitalia.com/6u
- disponibile il nuovo #adsdk per #win8. doc su https://aspit.co/ad3 donwload diretto da https://aspit.co/ad4
- #MIX10: Windows Phone - demo Hush Hush, un diario con interfaccia completamente personalizzata
- Scott Guthrie on stage: inizia la seconda keynote di //build/ https://aspit.co/build-14 #bldwin