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
Utilizzare una qualunque lista per i parametri di tipo params in C#
Ridurre il reflow ottimizzando il CSS
Eseguire query in contemporanea con EF
Utilizzare WhenEach per processare i risultati di una lista di task
Supportare la crittografia di ASP.NET Core con Azure Container App
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Ricevere notifiche sui test con Azure Load Testing
Configuratione e utilizzo .NET Aspire CLI
Anonimizzare i dati sensibili nei log di Azure Front Door
Gestire gli errori nelle Promise JavaScript con try()
Integrazione di Copilot in .NET Aspire
Creare agenti facilmente con Azure AI Agent Service
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Le DirectInk API nella Universal Windows Platform
- Inserire le news di Punto Informatico nel proprio sito


