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
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Gestione opzioni colonna nella Blazor QuickGrid
Gestire trasferimenti cloud con Azure Storage Mover
Controllare la velocità di spostamento su una pagina HTML
Nuove validazioni Form Blazor
Abilitare .NET 10 su Azure App Service e Azure Functions
Mischiare codice server side e client side in una query LINQ con Entity Framework
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Breaking the Legacy Barrier: how to Use AI to Modernize Applications
Creare un extension method per applicare condizionalmente una Where in una query LINQ per Entity Framework
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
I più letti di oggi
- Microsoft rilascia Silverlight 1.0 beta e 1.1 alpha
- Gestire ed intercettare le eccezioni con i controlli SqlDataSource
- Build 2013: segui con noi tutte le novità in diretta da San Francisco!
- maggiori informazioni su #VS Live Share e la form per iscriversi alla preview sono disponibili qui https://aspit.co/bjv #MSFTConnect


