Quando si approccia a Windows Azure, soprattutto utilizzando i template per Visual Studio, si tende a sviluppare web e worker role separatamente, come suggerito quando si creano nuovi progetti. Sebbene sia utile per separare logicamente i componenti e per essere pronti per scalare in modo migliore, una soluzione con due ruoli, comporta almeno due istanze, e questo può essere d'ostacolo a progetti piccoli con disponibilità economiche limitate.
In realtà un web role, così come il worker role, dispone di un RoleEntryPoint, nel quale, oltre al metodo OnStart, possiamo sovrascrivere il metodo Run, così come faremmo nel worker role. Normalmente tale metodo non esce fino a quando OnStop, sempre del ruolo, non viene chiamato. Possiamo sovrascrivere questo metodo per eseguire attività di schedulazione, o dei loop infiniti, come nell'esempio seguente.
public class WebRole : RoleEntryPoint { private bool cancel; public override void Run() { // Continuo fino a quando OnStop non viene chiamato while (!cancel) { // TODO: faccio qualcosa // Aspetto un minuto Thread.Sleep(TimeSpan.FromMinutes(1)); } } public override void OnStop() { base.OnStop(); cancel = true; } }
In questo modo, oltre ai siti web, possiamo anche eseguire attività tipiche dei servizi, il tutto in un'unica istanza.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Anonimizzare i dati sensibili nei log di Azure Front Door
Aggiornare a .NET 9 su Azure App Service
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Introduzione ai web component HTML
Centralizzare gli endpoint AI Foundry con Azure API Management
Generare una User Delegation SAS in .NET per Azure Blob Storage
Configurare e gestire sidecar container in Azure App Service
Il nuovo controllo Range di Blazor 9
Ricevere notifiche sui test con Azure Load Testing
Configurare automaticamente un webhook in Azure DevOps
La gestione della riconnessione al server di Blazor in .NET 9
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